liu472514788
liu472514788
2010-09-15 17:56
浏览 185
已采纳

struts2 action如何得到页面表单的值?

需要详细步骤。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • emily2ly
    emily2ly 2010-09-17 20:10
    已采纳

    在userLogin.jsp中表单如下:
    [code="java"]



    /s:textfield

    /s:password
    /s:submit
    /s:form
    [/code]

    在struts.xml中配置
    [code="xml"]


    success.jsp
    userLogin.jsp

    [/code]

    在UserLoginAction.java中
    [code="java"]
    private String username;
    private String password;
    //添加set和get方法
    public String execute() throws Exception{
    System.out.println(username + " Welcome!");
    }
    [/code]

    点赞 评论
  • iteye_2443
    iteye_2443 2010-09-15 18:08

    很就没用struts了,struts2也只是稍看过
    不论是struts的MVC还是Spring的mvc
    要获取表单值通过
    request.getParameter("name");
    应该都是可以的,
    要注意的是该方法的参数是页面表单元素的name属性值而不是id的属性值
    假设页面表单的一个文本元素

    那么后台获取该文本元素值应该是
    request.getParameter("age");

    struts和Spring底层应该都是对HttpServlet的封装,那么应该是支持这种方式来获取参数的
    另外还有两个方法比较好用
    request.getParameterValues("name");//比如多选框,返回数组值
    request.getParameterMap();//返回Map值,可以用apache的包来填充数据模型,具体如下:
    Map params = request.getParameterMap();//获取页面值(所有元素的值组成的map)
    MyModel myModel = new MyModel();//新建对象
    myModel = BeanUtils.populate(myModel , params);//填充页面值到对象

    这个需要jar:commons-beanutils.jar

    点赞 评论
  • tengguanbing
    tengguanbing 2010-09-15 18:22

    如果这样取得页面的值 还不如直接用servlet。
    其实说穿了,就是把页面的值直接封装到了类的属性中了。直接通过类的属性就可以取得其值。当然这个类的对象是有生命周期的!

    点赞 评论
  • a_mu_long
    a_mu_long 2010-09-16 00:03

    struts2 取得表单值容易得多了,只有在action类里有跟表单一样名字的表单,并在action有里有相关的set get方法就可以直接使用了

    点赞 评论
  • iteye_14535
    iteye_14535 2010-09-20 17:30

    struts2中,获取表单的值,只需要在action里设置和表单一样的属性,然后set get就可以了,框架自动获取,就这么简单

    点赞 评论

相关推荐