在Struts2框架,一个action有两个方法,第一个方法 selectAllLend查询数据库后生成list对象,传值给jsp显示,现第二个方法 lendBook(与第一个方法同在java文件)也需要生成的list对象,请问jsp如何传值给第二个方法?或第二个方法如何直接获取第一方法的list对象?请给代码,谢谢。
1.action主要内容:
package org.action;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletResponse;
import org.dao.LendDao;
import org.tool.CommonExcel;
import org.tool.Pager;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LendAction extends ActionSupport{ private String message;
private String dw_gz;
private int year_gz;
private int month_gz;
这里省略上面属性的get和set方法 LendDao lendDao=new LendDao();
Map request=(Map) ActionContext.getContext().get("request");
public String selectAllLend() throws Exception{
List list=lendDao.selectLend(dw_gz,year_gz,month_gz,this.getPageNow(),this.getPageSize()); request.put("list", list); //保存查询的记录
return SUCCESS;
}
public String lendBook()throws Exception{
HttpServletResponse response=null;
ActionContext context=ActionContext.getContext();
Map parameterMap=context.getParameters(); List dataList=(List)parameterMap.get("list");
//List dataList=(List)ActionContext.getContext().getValueStack().findValue("#list");
return SUCCESS;
}}
2.jsp显示主要内容<s:iterator value="#request.list" var="lend"> <tr>
<td><s:property value="#lend.dw" /></td>
<td><s:property value="#lend.year_gz" /></td>
<td><s:property value="#lend.month_gz" /></td>
<td><s:property value="#lend.name" /></td>
<td><s:property value="#lend.gz1" /></td>
<td><s:property value="#lend.gz2" /></td><%-- <td><s:date name="#lend.lTime" format="yyyy-MM-dd"/></td> --%> </tr>
</s:iterator>3.Struts.xml主要内容:
<action name="selectBook" class="org.action.LendAction" method="selectAllLend">
<result name="success">lend.jsp</result>
</action>
<action name="lendBook" class="org.action.LendAction" method="lendBook">
<result name="success">lend.jsp</result>
</action>
1.action主要内容:
package org.action;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletResponse;
import org.dao.LendDao;
import org.tool.CommonExcel;
import org.tool.Pager;import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LendAction extends ActionSupport{ private String message;
private String dw_gz;
private int year_gz;
private int month_gz;
这里省略上面属性的get和set方法 LendDao lendDao=new LendDao();
Map request=(Map) ActionContext.getContext().get("request");
public String selectAllLend() throws Exception{
List list=lendDao.selectLend(dw_gz,year_gz,month_gz,this.getPageNow(),this.getPageSize()); request.put("list", list); //保存查询的记录
return SUCCESS;
}
public String lendBook()throws Exception{
HttpServletResponse response=null;
ActionContext context=ActionContext.getContext();
Map parameterMap=context.getParameters(); List dataList=(List)parameterMap.get("list");
//List dataList=(List)ActionContext.getContext().getValueStack().findValue("#list");
return SUCCESS;
}}
2.jsp显示主要内容<s:iterator value="#request.list" var="lend"> <tr>
<td><s:property value="#lend.dw" /></td>
<td><s:property value="#lend.year_gz" /></td>
<td><s:property value="#lend.month_gz" /></td>
<td><s:property value="#lend.name" /></td>
<td><s:property value="#lend.gz1" /></td>
<td><s:property value="#lend.gz2" /></td><%-- <td><s:date name="#lend.lTime" format="yyyy-MM-dd"/></td> --%> </tr>
</s:iterator>3.Struts.xml主要内容:
<action name="selectBook" class="org.action.LendAction" method="selectAllLend">
<result name="success">lend.jsp</result>
</action>
<action name="lendBook" class="org.action.LendAction" method="lendBook">
<result name="success">lend.jsp</result>
</action>
HttpServletResponse response=null;
ActionContext context=ActionContext.getContext();
Map parameterMap=context.getParameters(); List dataList=(List)parameterMap.get("list"); //此方法无法取得值
//List dataList=(List)ActionContext.getContext().getValueStack().findValue("#list"); //另外这个方法也无法取得值
如果是这样,要么像楼上说的用全局变量,要么把List保存到共同区域(如session之类的)