Struts2 action带参数重定向(高分求助)

<actionname="QueryUser"class="action.QueryUserAction"><resultname="success">/uquery_r... <action name="QueryUser" class="action.QueryUserAction">
<result name="success">/uquery_result.jsp</result>
<result name="fail">/errors.jsp</result>
</action>
<action name="LockUser" class="action.LockUserAction">
<result name="success" >

</result>
当我执行了QueryUser后,uquery_result.jsp页面显示出从数据库读出来的数据,有个用户活动的数据(假设为“活动”)。数据后面有个“锁定用户”的按钮,我想实现我点击这个按钮,“活动”2字就变为锁定了,这应该是LockUser这个action执行后再次执行了QueryUser,但是我不知道应该怎么去实现这个重定向 我的QueryUser里有2个参数(因为是按条件查找的)
我想我的流程是这样的:QueryUser----->LockUser----->QueryUser 而且第一次QueryUser的时候有2个参数 怎么实现这个功能?如果不能,还有什么方法实现我想实现的功能呢?
先给30分,解决了再给20
我struts.xml文件里这样写的:
<action name="QueryUser" class="action.QueryUserAction">
<result name="success">/uquery_result.jsp</result>
<result name="fail">/uquery_result.jsp</result>
</action>
<action name="LockUser" class="action.LockUserAction">
<result name="success" type="redirectAction"> QueryUser </result>
<result name="fail" type="redirectAction"> QueryUser </result>
</action>
没有错误,但是还是没实现我想要的功能,我感觉思路对的哦!!
展开
 我来答
andylee1988
2010-01-08 · TA获得超过554个赞
知道小有建树答主
回答量:297
采纳率:0%
帮助的人:225万
展开全部
给你发一个参考代码:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class TestAction extends Action {

@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
LoginActionForm laf = (LoginActionForm)form;
String username = laf.getUsername();
String password = laf.getPassword();
// if ("admin".equals(username) && "admin".equals(password)) {
// //转向到登录成功页面
// request.setAttribute("username", username);
// return mapping.findForward("success");
// }else {
// //转向到登录失败页面
// return mapping.findForward("error");
// }
String errorInfo = "";
try {
UserManager.getInstance().login(username, password);
//request.setAttribute("username", username);
return mapping.findForward("success");
}catch(UserNotFoundException unfe) {
unfe.printStackTrace();
errorInfo = "用户不能找到,用户名称=[" + username + "]";
}catch(PasswordErrorException pee) {
pee.printStackTrace();
errorInfo = "密码错误";
}
request.setAttribute("errorinfo", errorInfo);
return mapping.findForward("error");
}

}
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
fylsh
2010-01-09 · TA获得超过950个赞
知道小有建树答主
回答量:1472
采纳率:0%
帮助的人:1049万
展开全部
<action name="QueryUser" class="action.QueryUserAction">
<result name="success">/uquery_result.jsp</result>
<result name="fail">/errors.jsp</result>
<result name="goLookUserAction" type="redirectAction"><param name="location">LockUser</param>
<param name="传递参数的名称1">100</param>
<param name="传递参数的名称12">100</param>
</result>

下面的LockUser和你写的一样,参数的传递如果是QueryUserAction的属性值可以把100替换为:${属性名称},即可传递参数,你写的应该是对的,至于没有效果我不知道指的是流程没有这样走,action没进去?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guoxiang98
2010-01-08 · 超过18用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:74.1万
展开全部
可以采用值栈传值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式