当前位置:首页 > 开发 > 编程语言 > Struts2 > 正文

Struts2值传递问题

发表于: 2014-11-26   作者:师大黄飞   来源:转载   浏览:
摘要: 一,Struts2标签不支持EL表达式,应该用Ognl表达式,比如在<s:if>标签中       <s:if test="#msg==null"> <span id="welcomeInfo" >欢迎使用XX后台管理系统! </span> &

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

     

<s:if test="#msg==null">
          <span id="welcomeInfo" >欢迎使用XX后台管理系统!   </span>     </s:if>
<s:else>
          <span id="wrongInfo">${msg}</span>
</s:else>

 其中判断是用#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中配置传递值

 

 <result name="success" type="redirect"> 
       <param name="location">/Login.jsp</param>
  </result>

以上就相当于

 <result name="success" type="redirect"> /Login.jsp</result>

 如何传递值呢

 <result name="success" type="redirect"> 
    <param name="location">/Login.jsp</param>
    <param name="msg" >${msg}</param>
  </result>

 用以上方法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文件中的

<Connector  connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
添加编码URIEncoding="utf-8",如下
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

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

Struts2值传递问题

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
java中没有指针,所以好像java不像其他语言那样有明确区分值传递和引用传递,在这里,刚看了一本书
值传递:传递的是实际参数的一个副本,这个值可能是基本类型,也可能是引用类型的地址. 引用传递:
java 对于 8种基本类型 和 他们的包装类型 , 外加 String 类型 ,都是 值传递,没有引用传递 。即:
来源:http://mcdelfino.blog.51cto.com/2058744/661036 值传递, 只是传递副本, 而引用传递, 是传递
每次在面试的时间都被面试问ava中参数传递问题,每次回答的都不是很满意,回头查阅了相关的资料,对
值传递和引用传递总结 <!--[if !supportLists]-->1.<!--[endif]-->基本数据类型 JAVA有
首先了解一下jvm的内部如何保存数据: 1.jvm中每个线程都对应一个运行时内存区-----栈。栈中存放线
通过代码分析: public class ParamTest { // 初始值为0 protected int num = 0; // 为方法参数重新
而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~ 下
而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~ 下
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号