日期:2014-05-16  浏览次数:20333 次

ACTION中定义的变量,如何传值到JSP页面?

首先,先声明一下,所有的action跳转到jsp页面的变量(基本数据类型或者引用数据类型),都需要 getter  setter,

当然,session之类的传值除外,但最好还是写上 getter  setter


1.action中的变量 有getter and setter 方法       赋值后跳转到jsp页面  通过

         情况①  直接输出文字<s:property value="action中的变量名"/>  此标签也可镶嵌到普通表单input控件中的value值

       情况②  赋值到普通表单控件 如<input type="text" value="${action中的变量名}"/>

情况③  赋值到struts2表单控件 如<s:textfield name="action中的变量名"/>    

  情况④  赋值到struts2表单控件 如<s:textfield value="%{action中的变量}"/>     

2.通过session 传值到jsp 

action中:ActionContext ac=ActionContext.getContext();
Map<String, Object> session=ac.getSession();
session.put("loginid",loginid);

jsp中:<s:property value="%{#session.loginid}"/>    jsp内置对象的调用都需要加上#号

3.传递list集合到jsp

action中定义 List<Bean> myList形式的集合并赋值 

jsp中  <s:iterator value="myList">

<s:property value="id"/>

<s:property value="username"/>

<s:property value="age"/>

  </s:iterator>

迭代输出list中的javabean数据    id username  age 为每个javabean的属性