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>
没有错误,但是还是没实现我想要的功能,我感觉思路对的哦!! 展开
<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>
没有错误,但是还是没实现我想要的功能,我感觉思路对的哦!! 展开
3个回答
展开全部
给你发一个参考代码:
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");
}
}
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 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
展开全部
<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没进去?
<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没进去?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以采用值栈传值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询