struts2 表单

来源:互联网 发布:网络利大于弊辩论视频 编辑:程序博客网 时间:2024/05/12 23:55

3. struts2中 action接收表单数据的三种方式

public class Book {    private String bookname; // 书名    private String authorName;// 作者    //getter  setter方法}public class User {    private String username; // 用户名    private String pasword; // 密码    private List<Book> books; // 喜欢看的书    //getter setter方法}

1.普通属性 定义参数名和getter,setter方法 参考 login1.jsp

<form action="acceptParam1.action" method="post">    <div>        用户名:<input type="text" name="username"></input>    </div>    <div>        <input type="submit" value="登录" />    </div></form>
public class AcceptParamAction1 {    private String username;    //getter setter方法   public void test(){     System.out.println("用户名" + username);   }}

2.领域对象 定义对象名和getter,setter方法

<form action="acceptParam2.action" method="post">    <div>        用户名:<input type="text" name="user.username"></input>    </div>    <div>        <input type="submit" value="登录" />    </div></form>
public class AcceptParamAction2  {    private User user;    //getter  setter方法    public void login() {        System.out.println("第二种接收参数 的方法:用户名" + user.getUsername());    }}

3.模型驱动 实现ModelDriven接口,实例化一个对象 参考 login3.jsp

<form action="acceptParam3.action" method="post">    <div>        用户名:<input type="text" name="username"></input>    </div>    <div>        最喜欢的书名1:<input type="text" name="books[0].bookname"></input>    </div>    <div>        最喜欢的书名2:<input type="text" name="books[1].bookname"></input>    </div>    <div>        <input type="submit" value="登录" />    </div></form>
public class AcceptParamAction3 implements ModelDriven<User> {    private User user = new User();// 实例化对象    @Override    public User getModel() {        // TODO Auto-generated method stub        return user;    }    public String login() {        System.out.println("第二种接收参数 的方法:用户名" + user.getUsername());        System.out.println("第二种接收参数 的方法:用户最喜欢的书名1" + user.getBooks().get(0).getBookname());    }}

4.struts2验证框架,完成表单验证
1.后台重写validate()方法,这个方法是对这个类中的所有方法都进行验证,不想被验证的方法使用注解@SkipValidation

//addFieldError是ActionSupport类中的方法@Overridepublic void validate() {    if (user.getUsername() == null || "".equals(user.getUsername())) {        this.addFieldError("username", "用户名不能为空");    }}

2.struts.xml文件中定义一个input的对应的返回页面

<result name="input">/login.jsp </result>

3.前台login.jsp中 用struts2的核心标签库

<!-- struts标签 --><%@ taglib prefix="s" uri="/struts-tags"%><div>    用户名:<input type="text" name="username"></input>    <s:fielderror name="username"></s:fielderror></div>
原创粉丝点击