action有两个方法,两个方法如何传值?
在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>