index.jsp<form action="login.action" method="post">
<input type="text" name="name">
<input type="submit">
</form>loginActionpublic class loginAction extends ActionSupport { private static final long serialVersionUID = 1L;
@Override
public String execute() throws Exception {
HttpServletRequest request=ServletActionContext.getRequest();
String name=request.getParameter("name");
User user=new User();
user.setName(name);
request.setAttribute("user",user);
return SUCCESS;
}
}cc.jsp<body>${user.name}
  </body>User.java
public class User {
private String name;public String getName() {
return name;
}public void setName(String name) {
this.name = name;
}}loginAction里request.setAttribute("user",user);
到jsp页面里怎么不需要get就可以取到name值, 用${user.name},这是struts2的特点吗?什么特点?

解决方案 »

  1.   

    public String execute() throws Exception {
            HttpServletRequest request=ServletActionContext.getRequest();
            String name=request.getParameter("name");
            User user=new User();
            user.setName(name);
            request.setAttribute("user",user);
            return SUCCESS;
        }
    这个方法可以这么写
    public String execute() throws Exception {
            this.user.setName(this.name);
            return SUCCESS;
        }
    前提是你得写一个私有的user  并且生成get set方法   
    写一个私有的String类型的变量name 生成get set方法、、、
    前台直接${user.name}可以取值。
      

  2.   

    你的方法之所以能那么改,还真是struts2的特点因为有很多代码struts2都帮你写好了
    顺便说一下LZ能写struts2真幸福我现在用spring mvc  太操蛋了跟struts2比起来太让人DT了。
      

  3.   

    貌似EL表达式JSTL不是专属于Struts的吧,它是由Sun提供的。
    Struts1不就已经整合了JSTL了嘛...
      

  4.   

    那是el表达式,通过对象.属性获取值。get,set已经写在属性里面了
      

  5.   

    ${user.name}是el表达式,正如2楼所说楼主很多地方可以使用struts2简化,表现层也可以用ognl表示
      

  6.   

    <s:property value="#request.user.name"/>
      

  7.   


    <s:property value="#request.user.name"/>
      

  8.   

    我记得还可以${sessionScope.user.name}
      

  9.   

    这还是struts2? struts2取个值哪里要这么麻烦。摆明了写的是struts1嘛
      

  10.   

    EL
       表达示的requestScope.user等价于request.getAttribute("user");
        不是因为加入了struts2框架才能用!
    另外,LZ不需要用setAttribute("user",user),你把User类,在Action类中型明就行了!再让你那个Action实现ModelDriven接口,这个接口是个泛型接口,你在接口中指定你的JavaBean;你创建User那个类,就是个model;然后实现接口中的getModel()方法;struts2会帮你做好一切的!
      

  11.   

    可以用get 在页面上导入 User类