jsp页面java代码中如何获取struts2的返回值

比如我想要把action中的返回变量传到jsp页面的内嵌java代码中,判断是不是SUCCESS,然后进行相关提示。... 比如我想要把action中的返回变量传到jsp页面的内嵌java代码中,判断是不是SUCCESS,然后进行相关提示。 展开
 我来答
anboxer
2011-07-21 · TA获得超过179个赞
知道答主
回答量:191
采纳率:0%
帮助的人:146万
展开全部
清楚action的SUCCESS,ERROR这些返回值的作用不?这些是给struts自己用的,不会传到jsp里。如果你要传到jsp里就只能在action里自己加个String的变量,然后在jsp对这个变量进行判断。比如:
String var;
execute(){
if(){
this.var=SUCCESS
}else{
this.var=ERROR
}
return this.var
}
更多追问追答
追问
嗯,然后呢?如何在页面中取这个返回变量进行判断?
追答
jsp怎么得到action的变量不会,你纯新手?
714egcyvn
2011-07-20 · TA获得超过5330个赞
知道大有可为答主
回答量:4579
采纳率:40%
帮助的人:2537万
展开全部
首先。你的action有问题。
list不应该是方法体里的变量,list需要有get set 方法。这样jsp页面会取不到值。改成下面这样(我就不写get set方法了。你自己加):

public class A extends ActionSupport
{
Private String username;
Private String password;
Private List list ;
username与password相应的get set方法;

public String execute()
{

list = 这里调用了一个java类,到了一LIST类的
//
//请教这里面应该怎么写才能把在上面得到的list类传到jsp页面上去
//成功转到yes.jsp
}
}

在JSP页面的<@page>标签下面加一个
<@ taglib prefix="s" uri="/struts-tags" >标签包(关于这个标签包的配置和使用建议到网上搜索看看),然后
yes.jsp写法。

<s:iterator value="list" id="item">
<s:property value='item'/>
</s:iterator>
这里面item对应着list里的每个元素。
如果item 是对象(如是People对象且People有一个name属性)则可以写成下这样。
<s:iterator value="list" id="item">
<s:property value='#item.name'/>
</s:iterator>
追问
这位仁兄不要没看问题就回答好不?
ctrl+v也别乱来吧???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小傻

2015-11-14 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
jsp页面java代码总获取struts2的返回值的方式如下:
1.
<%@ page language="java" import="com.opensymphony.xwork2.util.*"%>
ValueStack vs=(ValueStack)request.getAttribute("struts.valueStack");
类型 propertyValue=(类型)vs.findValue("propertyName");
2.
String ww = (String)request.getAttribute("propertyName");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
4408110qaz
2011-07-21 · TA获得超过362个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:78万
展开全部
我建议你不要在jsp内嵌java代码,这是很不好的习惯。用struts2的标签。
假设action中属性名为propertyname1;
在jsp中这么判断:
<s:if test='%{propertyname1=="SUCCESS"}' >
提示
</s:if>
<s:else>
提示
</s:else>
追问
嗯,你说的对,我已经改做标签判断了。但是我还是想知道内嵌java代码是如何取得返回值的。
追答
这些属性是存在值栈valueStack里的,所以在jsp的scriptlet中你这样取:
ValueStack vs=(ValueStack)request.getAttribute("struts.ValueStack");
类型 propertyValue=(类型)vs.findValue("propertyName");

注意类型转换

关键是"struts.ValueStack"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a52071453
2011-07-21
知道答主
回答量:37
采纳率:0%
帮助的人:21.8万
展开全部
EL表达式可以 OGNL也行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式