struts2 0-action继承ActionSupport后action不能访问特定的方法是为什么

问题描述

action继承ActionSupport后action不能访问特定的方法是为什么

表单的action为:
《form action="login.action">《/form>
struts2.xml的配置为:
《action name="login" class="loginAction" method="userLogin"》
《result name="ok"》index.jsp《/result》
《result name="error"》login.jsp《/result》
《/action》
LoginAction的代码为:
public class LoginAction extends ActionSupport implements ServletRequestAware{
private static final long serialVersionUID = 1L;
private HttpServletRequest req;
private LoginServiceinter loginServiceImp;

@Override
public String execute() throws Exception {
    System.out.println("进入默认方法");
    return "ok";
}

public String userLogin(){
    Users user = loginServiceImp.userLogin(req.getParameter("username"), req.getParameter("password"));
    if(user!=null){
        req.getSession().setAttribute("userid", user.getUserId());
        req.getSession().setAttribute("username", user.getUsername());
        return "ok";
    }
    return "error";
}

@Override
public void setServletRequest(HttpServletRequest arg0) {
    this.req = arg0;

}

}
结果访问不到
HTTP Status 404 - No result defined for action com.zui2jun.action.LoginAction and result ok
控制台提示:
进入默认方法

如果将form改成《form action="asdf.action"》
struts.xml改成
《action name="asdf" class="loginAction" method="asdf"》
《result name="ok">/index.jsp
《result name="error">/login.jsp</result》
《/action》
方法名改成
public String asdf(){
Users user = loginServiceImp.userLogin(req.getParameter("username"), req.getParameter("password"));
if(user!=null){
req.getSession().setAttribute("userid", user.getUserId());
req.getSession().setAttribute("username", user.getUsername());
return "ok";
}
return "error";
}
就可以正常访问 是为什么?

解决方案

有可能是缓存问题,你现在在改成原来试试估计也是可以的

解决方案二:

action类里面你先把其他东西删了,只留userLogin方法然后
《action name="login_*" class="包名+类名" method="{1}"》
《result name="ok"》index.jsp《/result》
《result name="error"》login.jsp《/result》
《/action》

重启
访问地址写../login_userLogin.action

解决方案三:

Action中方法的访问

时间: 2024-09-13 21:48:54

struts2 0-action继承ActionSupport后action不能访问特定的方法是为什么的相关文章

Struts2.3.28.1升级后action中实体Bean第一个字母小写 第二字母大写

问题描述 Struts2.3.28.1升级后action中实体Bean第一个字母小写 第二字母大写 我将 Struts升级至2.3.28.1后,action中实体Bean第一个字母小写 第二字母大写的情况后台获取值为null如:UserAction中有 private User user; 在User:private String uName; public String getUName() { return uName; } public void setUName(String uName

struts2中action实现ModelDriven后无法返回json的解决方法_JSP编程

复制代码 代码如下: public class DeviceAction extends AbstractAction implements ModelDriven<Device> {    private static Log log = LogFactory.getLog(DeviceAction.class);    private Device device=new Device(); //只能json化 模型驱动的bean    private String result; //无法

解析:继承ViewGroup后的子类如何重写onMeasure方法_Android

1.首先贴上我试验成功的代码 复制代码 代码如下: protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {          int measureWidth = MeasureSpec.getSize(widthMeasureSpec);          int measureHeigth = MeasureSpec.getSize(heightMeasureSpec);          setMeas

解析:继承ViewGroup后的子类如何重写onMeasure方法

1.首先贴上我试验成功的代码 复制代码 代码如下: protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int measureWidth = MeasureSpec.getSize(widthMeasureSpec);          int measureHeigth = MeasureSpec.getSize(heightMeasureSpec);          setMeasuredDimen

php后台经常提示无法连接mysql 刷新后又可以访问的解决方法_Mysql

网上一共提供了两种方法: 第一种:卸载KB967723补丁登录服务器,进入控制面板 - 添加和删除程序 - (勾选上方的"显示更新")在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择"是",继续卸载.卸载完成后重启数据库服务器. 第二种:修改注册表本方法是微软给出的修改注册表修复该Bug的的方法,原因是默认最大的临时 TCP 端口的数是 5000 适用于一节中包含的产品中. 在这些

win7无线连接后显示有限访问权限怎么解决

win7无线连接后显示有限访问权限怎么解决   无线连接后显示有限访问权限解决方法: 1.首先鼠标点击开始图标,选择控制面板,如图所示: 2.弹出控制面板窗口后,以大图标查看方式找到设备管理器并将其打开, 3.此时调出设备管理器窗口,我们打开网络适配器并选择带有wireless的配置 4.最后找到802开头的属性,在右侧的值改为Long and Short并点击确定即可

为什么继承了actionsupport后不能调用action中的自定义方法

问题描述 为什么action继承了actionsupport后不能调用action中的自定义方法.调用execute方法就可以.先是用spring管理action.改成spring不管理action也不行.总是提示:找不到指定的方法错误.为什么?不继承actionsupport就不能用getText方法. 解决方案 估计你aop代理了造成的 贴出aop相关配置解决方案二:struts2,怎么可能...不清楚是你是怎么配置的 注解?xml?

struts2 0 国际化-struts2.0升级到2.3.15.1后 ActionSupport getText() 空指针

问题描述 struts2.0升级到2.3.15.1后 ActionSupport getText() 空指针 java.lang.NullPointerException 00:45:33,387 ERROR [STDERR] at com.opensymphony.xwork2.util.LocalizedTextUtil.findText(LocalizedTextUtil.java:361) 00:45:33,387 ERROR [STDERR] at com.opensymphony.x

json-用plupload上传图片,和struts2结合,怎么获取上传成功后action返回的数据

问题描述 用plupload上传图片,和struts2结合,怎么获取上传成功后action返回的数据 也就是在plupload中怎么获取后台传过来的数据,是json数据,再简单点说,怎么写 plupload中的回调函数 解决方案 //使用AJAX上传文件,支持多文件上传,已与Plupload2.1.2插件测试通过 @RequestMapping("/ajaxLoadFile") @ResponseBody public Object ajaxLoadFile(HttpServletRe