ParametersInterceptor - 意外的异常捕获错误设置表达式'x'的值为'

时间:2013-03-09 10:50:39

标签: parameters struts2 interceptor actionresult

package com.achala.saraswathi.action;

import com.achala.saraswathi.data.AdminBE;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;

public class AdminLoginAction extends ActionSupport{


    private AdminBE adminBE;

    public String execute(){
        return Action.SUCCESS;
    }


    public String adminLogin(){
        if(adminBE.getUserName().equals("admin")&&adminBE.getPassword().equals("admin")){
            return Action.SUCCESS;
        }
        addActionError("Invalid username or password");
        return Action.INPUT;
    }

    public AdminBE getAdminBE() {
        return adminBE;
    }

    public void setAdminBE(AdminBE adminBE) {
        this.adminBE = adminBE;
    }       
}

点击提交按钮后

ParametersInterceptor - Unexpected Exception caught Error setting expression 'x' with value 

错误即将来临,我不知道为什么?

3 个答案:

答案 0 :(得分:2)

我怀疑您的表单正在使用type =“image”的提交按钮。使用此按钮,它将参数x,y发布到请求参数。所以为了避免这个错误你可以:

  • 使用其他类型的按钮,例如背景图片
  • 将x,y属性添加到您的操作类

答案 1 :(得分:0)

错误是您正在尝试设置未初始化的属性的值。在login.action你应该写

private AdminBE adminBE = new AdminBE();

并且不会出现操作错误,您应该返回类型redirect的成功结果。

答案 2 :(得分:0)

要在不破坏对象模型的情况下解决此问题,请参阅此处的详细答案:

How to remove x and y on submit in HTML form with Image type button?