怎么把action中的值传到jsp页面

 我来答
h768446359
推荐于2018-03-13 · TA获得超过411个赞
知道小有建树答主
回答量:243
采纳率:100%
帮助的人:188万
展开全部

对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种:

  1. 使用转发视图利用request域中储存所需的值

  2. 使用重定向时存储数据进入session使其在jsp中可以获得

下面,让我们分先后的讲解这2种方法!

一、转发到jsp:

  1. 准备步骤:

    • jsp页面随时准备使用el表达式获取request中的值,

    • action中的值分2种,一种是在方法中诞生的,作用域也是方法内;一种是定义为类成员(并带有get,set或者为public),此种方式只需赋值

     2.操作流程:

    • 对于action的类属性,直接为其赋值(例如 message="Test";),然后在jsp页面中使用el表达式取出这个值(${message },直接以类属性名称取值即可,el默认的取值域就是request,struts2会将action的所有带有get,set的属性自动的放入request域中【当然你也可以使用struts的标签库,不推荐】)

    • 对于action中方法中产生的数据,又不想为其在action类中定义对应的成员,我们可以手动的将其存放进入request域中,在struts2中,有2种方式可以将数据存入request中,一种是通过ActionContext.getContext().put("message",message);直接放入将数据request域中,不获取request本身,获取其中的Map;另一种是使用ServletActionContext.getRequest().setAttribute("message",message);直接取得request对象,再使用request对象的方法setAttribute()方法存入数据!将数据存入request中后,jsp中取值并无差别(同上)!

    二、重定向到jsp:

      • 准备步骤:同上!不同处是不管要存入的数据是不是类的属性,我们都必须在方法中进行处理才能将数据存入session,而不能依靠struts2自动帮我们搞定!

      • 操作流程:

        • 不管数据是哪里诞生的,得到数据后!比如为message;同上的第二种情况:也有2中方式将数据存入到session中:

        • a.在方法中通过ActionContext().getContext().getSession().put("message",message);首先获取session中的map,再使用Map接口的方法put()存入数据

        • b.在方法中通过ServletActionContext().getRequest().getSession().setAttribute("message",message);首先获取session对象,再使用session对象的setAttribute方法将数据存入session域

        • 最后,不管那种方式将数据存入到session中,我们都可在jsp页面中获取session中的值,例如${sessionScope.message }

          三、总结:

          不论如何,总是将数据存入tomcat提供的几个存数据的域中(request,session,application),然后在页面通过EL表达式获取即可!

人生真的好幸福
2016-09-19 · TA获得超过213个赞
知道小有建树答主
回答量:349
采纳率:100%
帮助的人:130万
展开全部
  1. 使用request.setAttributeI("a","avalue")

  2. 试图转发request.getRequestDispatcher("/index.jsp").forward(request, response);

  3. 在根目录下index.jsp文件当中使用${a}便可以取到值了.

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanyz1012
2016-09-30
知道答主
回答量:9
采纳率:0%
帮助的人:3.1万
展开全部
设置get、set方法,
通过struts中的result自动传到页面
用${变量名 }就可以获取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜冷叻诶
2016-08-27 · TA获得超过174个赞
知道小有建树答主
回答量:206
采纳率:50%
帮助的人:148万
展开全部
把值写入request,使用setPerpertes 在jsp中是用getProperties来获取。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友935650cc2
2016-10-12 · TA获得超过121个赞
知道答主
回答量:112
采纳率:0%
帮助的人:24.5万
展开全部
resquest.setAttribute("key", "value");
页面用 ${key}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式