我是靠谱客的博主 阔达小刺猬,最近开发中收集的这篇文章主要介绍struts1及struts2中action和jsp之间数据和参数传输传递,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1,jsp中提交数据就不用说了,会自动执行对应的setter,然后action就可以再execute中执行相应的操作了,比如save等等。

2,action处理完数据怎么在jsp中显示呢?

如果是在struts1中的话,execute方法是这样的:

ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){

LoginForm form=(LoginForm)form;

String username=form.getUsername;

HttpSession session=request.getSession();

session.setAttribute("username",username)

}

然后在jsp中直接session.getAttribute("username")就ok了。

那么在struts2中是怎么做的呢,看这里:

(1)Map request=(Map)ActionContext.getContext().get("request");

request.put("booklist",this.service.findAll());

这样就把所有数据保存到request中了。

然后在jsp中,这样:

<table>

<tr>

<td>编号</td>

<td>书名</td>

<td>作者</td>

<td>出版社</td>

<td>价格</td>

</tr>

<iterator value="#request.booklist" id="bl">

<tr>

<td>${id}</td>

<td>${name}</td>

<td>${auth}</td>

<td>${press}</td>

<td>${price}</td>

</tr>

</iterator>

</table>

 

(2).

action中:HttpServletRequest request =ServletActionContext.getRequest();

// HttpSession session=request.getSession();

request.setAttribute("booklist",this.service.findAll());

//session.setAttribute("booklist",this.service.findAll());

自己决定用request还是session。

此方法和struts1中思想是一样的,只是需要建一个HttpServletRequest对象而已,struts1中函数参数已经有了。

struts2中是不能直接把HttpServletRequest对象写在参数中的,因为execute方法是继承自ActionSupport只能重写无参方法,否则会出错。

jsp中就和(1)中一样了。

最后

以上就是阔达小刺猬为你收集整理的struts1及struts2中action和jsp之间数据和参数传输传递的全部内容,希望文章能够帮你解决struts1及struts2中action和jsp之间数据和参数传输传递所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部