
对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种:
使用转发视图利用request域中储存所需的值
使用重定向时存储数据进入session使其在jsp中可以获得
下面,让我们分先后的讲解这2种方法!
一、转发到jsp:
准备步骤:
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中。
(1)一种是通过ActionContextgetContext()put("message",message);直接放入将数据request域中,不获取request本身,获取其
中的Map;
(2)另一种是使用ServletActionContextgetRequest()setAttribute("message",message);直接取得request对象,再使用
request对象的方法setAttribute()方法存入数据!将数据存入request中后,jsp中取值并无差别(同上)!
二、重定向到jsp:
准备步骤:同上!不同处是不管要存入的数据是不是类的属性,我们都必须在方法中进行处理才能将数据存入session,而不能依靠struts2自动帮我们搞定!
*** 作流程:
不管数据是哪里诞生的,得到数据后!比如为message;同上的第二种情况:也有2中方式将数据存入到session中:
(1)在方法中通过ActionContext()getContext()getSession()put("message",message);首先获取session中的map,再使用Map接口的方法put()存入数据
(2)在方法中通过ServletActionContext()getRequest()getSession()setAttribute("message",message);首先获取session对象,再使用session对象的setAttribute方法将数据存入session域。
最后,不管那种方式将数据存入到session中,我们都可在jsp页面中获取session中的值,例如${sessionScopemessage }
三、总结:
不论如何,总是将数据存入tomcat提供的几个存数据的域中(request,session,application),然后在页面通过EL表达式获取即可!
不能这么请求。
因为页面上的request 和使用form提交的request 请求 不是一个对象。测试如下:
首先在jsp页面中打印出来request对象
<%
requestsetAttribute("test","test");
Systemoutprintln("request="+request+"返回页面对象");//这里打印出页面request对象
%>
部分action代码如下:
>
1、首先在web工程里面创建一个Servlet类,继承>
步骤如下:
1、在web工程里面创建一个Servlet类,继承>
使用Java语言编写一个Servlet,从网页接收一个参数,将其设置为属性,然后将请求转发到另一个JSP页面,以显示该属性的值:
然后,在webxml文件中将Servlet映射到一个URL:
最后,在显示属性值的JSP页面上使用EL表达式来访问该属性的值:
当用户在网页上提交一个名为"inputValue"的参数时,该Servlet将获取该参数的值,并将其设置为名为"outputValue"的属性。然后,请求将被转发到名为"displayjsp"的JSP页面,该页面使用EL表达式"${outputValue}"来访问"outputValue"属性的值,并显示在页面上。
请注意,实际代码应该包括适当的错误处理和输入验证。
以上就是关于struts2怎么提取jsp数据全部的内容,包括:struts2怎么提取jsp数据、jsp中用request.setAttribute()后,在action中为什么取不到值、request中contentdescription怎么获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)