struts 数据自动封装表单的三种方式



struts 数据自动封装的三种方式
   首先:定义一个实体类,实现setter、getter 方法
 
 1、在jsp中
    第一种:
    <!--這里使用jquery 来获得路径-->
    <form action="${pageContext.request.contextPath}/LoginUserAction1" method="post">
  
  pusername:<input type="text" name="username"><br>
     password:<input type="password" name="password"><br>
     <input type="submit" value="tijiao">
    </form>

     第二种:
    <!--在jsp上面有這么一句String path = request.getContextPath(); 已经获得了路径,所以我们這里可以直接来使用-->
    <form action="<%= path%>"/LoginUserAction2 method="post"> 
 
  pusername:<input type="text" name="username"><br>
     password:<input type="password" name="password"><br>
     <input type="submit" value="tijiao">
    </form>
    第三种:(标签实现)
  <!--這里的namespace 对应的是struts配置的文件的package的name属性-->
     <s:form namespace="/userlogin" action="LoginUserAction3" method="post">
  <s:textfield name="user.username"/>username:
  <s:psssword name="user.password"/>password:
  <s:submit values="提交"/>
     </s:form>

  注:這里的所有name都应该与实体类的定义一致。
 
   2、在实现类中(下面的是对应上面的)

  第一种:public class LoginUserAction1() extends ActionSupport{
  private String username;
  private String password;
  生成setter,getter方法;
  实现execute方法
  //有很多方法可以操作数据 我们默认重写 父类ActionSupport 来操作数据
  public String execute(){
   //這里可以直接对username和password进行操作 因为继承了ActionSupport自动封装了数据
   //值就是从jsp传递过来的值
  //比如说输出
  syso(username);
  syso(password);
   return SUCCESS;
  }

 }
 第二种:public calss LoginUserAction2()extends ActionSupport implement ModelDriver<User>{
  private User user=new User();
  //生成getter setter方法
  //因为实现ModelDriven接口 所以封装的数据是User对象
  //這里要实现imolement的一个方法,获取封装的数据放回
  public User getModel(){
   return user;
  }
  public String execute(){
   //然后這里可以对user进行操作 同上
   return SUCCESS;
  }

  
 }

  第三种: public calss LoginUserAction3() extends ActionSupport{
  //因为在jsp中数据已经被封装在User对象中
  //所以我们定义的属性也是对象
  private User user;
  //生成getter和setter方法
  public String execute(){
   //這里对数据操作 跟上面一样
   return SUCCESS;
  }
 }

  三种方式可以灵活运用,在实际的操作中慢慢体会吧。

刚刚开始学习框架 有什么不对的或者好的可以改进的  欢迎指教。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值