Struts2请求参数封装二

Struts2请求参数封装二————属性驱动,有实体类

-实体类与动作类成功分离。
相较于属性驱动,无实体类
https://blog.youkuaiyun.com/a98764321a12346789a/article/details/119768833
仅有form表单中name属性的区别
需要使用OGNL语言去定义name元素值
即user.name,user.age等user 与getter方法的属性名保持一致
具体实现如下:
form表单:

<form action="${pageContext.request.contextPath}/hello" method="post">
   user:<input type="text" name="user1.user"/><br/>
   age:<input type="text" name="user1.age"><br/>
   hobby:	<input type="checkbox" value="Eating" name="user1.hobby">Eating<input/>
   		<input type="checkbox" value="Sleeping" name="user1.hobby">Sleeping<input/>
   		<input type="checkbox" value="Coding" name="user1.hobby">Coding<input/><br/>
    <input type="submit" value="submit">
</form>

struts.xml

<struts>
   <constant name="strutrs.devMode" value="true"/>
   
	<package name="p1" extends="struts-default">
		<action name="hello" method="sayHello" class="com.myit.web.action.HelloAction" >
			<result name="success">/success.jsp</result>
		</action> 	
	</package> 
</struts>

HelloAction

public class HelloAction extends ActionSupport {
   private User user1;
   public User getUser1() {
   	return user1;
   }
   public void setUser1(User user1) {
   	this.user1 = user1;
   }

   public String sayHello() {
   	System.out.println(user1);
   	return SUCCESS;
   }
}

User 实体类

package com.myit.web.action;

public class User {
   private String user;
   private Integer age;
   private String hobby;
   
   public String getUser() {
   	return user;
   }
   public void setUser(String user) {
   	this.user = user;
   }
   public Integer getAge() {
   	return age;
   }
   public void setAge(Integer age) {
   	this.age = age;
   }

   public String getHobby() {
   	return hobby;
   }

   public void setHobby(String hobby) {
   	this.hobby = hobby;
   }
   @Override
   public String toString() {
   	return "User [user=" + user + ", age=" + age + ", hobby=" + hobby + "]";
   }
   
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值