Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从action类访问jsp页面中类的值_Java_Jsp_Struts2 - Fatal编程技术网

Java 从action类访问jsp页面中类的值

Java 从action类访问jsp页面中类的值,java,jsp,struts2,Java,Jsp,Struts2,我正在Struts 2上做一个项目,我正在一点一点地获取知识 我有这样的动作 <action name="backaction" class="HandlerAction"> <result name="user_profile" type="redirect">hai.jsp</result> 我正在获取hai.jsp,但我无法在jsp中检索该对象userprofile中的值 jsp如下所示 <%@taglib prefix="s" uri="/s

我正在Struts 2上做一个项目,我正在一点一点地获取知识

我有这样的动作

<action name="backaction" class="HandlerAction">

<result name="user_profile" type="redirect">hai.jsp</result>
我正在获取hai.jsp,但我无法在jsp中检索该对象
userprofile
中的值

jsp如下所示

<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<body>
<s:textfield name="user_name" value="%{userprofile.name}"/>

</body>
</html>

我也尝试过将其设置为
value=“%{name}”
,但没有得到值xyz..

将{@link HttpServletResponse#sendRedirect(String)sendRedirect}方法调用到指定的位置。响应被告知将浏览器重定向到指定位置(来自客户端的新请求)。这样做的结果意味着刚刚执行的操作(操作实例、操作错误、字段错误等)将丢失且不再可用。这是因为操作是基于单线程模型构建的。传递数据的唯一方法是通过会话或web参数(url?name=value),这些参数可以是OGNL表达式。

问题在于

<result name="user_profile" type="redirect">hai.jsp</result>
hai.jsp
由于您使用的是重定向结果类型,这意味着框架将创建一个新的请求和响应对象,并丢弃旧的请求/响应对象。因此,当您从操作返回时,您的用户对象在值堆栈中是他们的,直到您告诉S2您要使用
重定向
结果类型

看到重定向结果类型时,它将丢弃任何现有数据,并为您创建一个新的请求,将其内容放入值堆栈中,这就是为什么这对您不起作用。我不确定您为什么要使用
重定向
结果类型,因为您可以使用任何内置结果类型(如
成功
)执行相同操作


如果您仍然想使用重定向结果,我建议您在
会话中保存用户配置文件数据,并在下一个操作中检索它,或者在我使用结果成功时使用。它将转到index.jsp提交操作的操作…(即,当用户单击提交按钮时,它将生成操作…).我不知道你说的index.jsp操作是什么意思,由于您可以创建任何结果字符串并根据您的要求显示视图。抱歉…它可以转到Handleration…但不知何故,令牌或类似的东西丢失了…我不知道原因…无论如何感谢您的帮助..我已经尝试了3个小时..您已经帮到了最大的忙。当我删除type=“redirect”时…sameclass backaction正在迭代执行并将变为无限。。
<result name="user_profile" type="redirect">hai.jsp</result>