Struts2值传递问题

阅读更多

一,Struts2标签不支持EL表达式,应该用Ognl表达式,比如在标签中

     


          欢迎使用XX后台管理系统!        

          ${msg}

 其中判断是用#msg==null来判断action中传递的参数msg是否为空

 

 

二,Action中如何将参数传递到jsp页面呢

 

ActionContext ac=ActionContext.getContext();
ac.put("msg", msg);

 上面就相当于

 

HttpServletRequest传值,其余还有

ac.getApplication.put("","");
ac.getSession.put("","");

 三,关于Struts2.xml文件中的Action的result中配置传递值

 

  
       /Login.jsp
  

以上就相当于

  /Login.jsp

 如何传递值呢

  
    /Login.jsp
    ${msg}
  

 用以上方法action中必须有

ActionContext ac=ActionContext.getContext();
ac.put("msg", msg);
不能使用
HttpServletRequest ac =ServletActionContext.getRequest();
ac.setAttribute("msg",msg );
否则接受不到参数

 以上是动态传至,你也可以讲${msg}替换为"要传递的内容"

 Jsp页面通过EL表达式获取

${param["msg"]}
等同于
<%=request.getParameter("msg")%>

 此时可能出现乱码

只要将tomcat中的confg/server.xml文件中的


添加编码URIEncoding="utf-8",如下

 若是在eclipse下还要重新添加tomcat服务器

你可能感兴趣的:(Struts2,值传递,EL,Ognl,乱码)