iteye_19582
2009-09-23 14:32
浏览 195
已采纳

struts2.1.6是不是不支持action内直接定义对象

从页面中提交User的数据到Action中 Action 写到:
public class HelloWorld extends ActionSupport {
private String name;
private User user;

public User getUser()
{
return user;
}
public void setUser()
{
this.user = user;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String execute() {
name = "Hello, " + name + "!";
return SUCCESS;
}
}

但运行到Action是报一个错,错误信息如下:
2007-9-8 18:42:23 com.opensymphony.xwork2.util.InstantiatingNullHandler nullPropertyValue
严重: Could not create and/or set value back on to object
ognl.NoSuchPropertyException: tutorial.HelloWorld.user [java.lang.IllegalAccessException: Class ognl.OgnlRuntime can not access a member of class tutorial.HelloWorld with modifiers "private"]
at ognl.OgnlRuntime.setFieldValue(OgnlRuntime.java:1125)
at ognl.ObjectPropertyAccessor.setPossibleProperty(ObjectPropertyAccessor.java:77)
at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:132)
at com.opensymphony.xwork2.util.OgnlValueStack$ObjectAccessor.setProperty(OgnlValueStack.java:68)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1629)
但是我换了2.0.14的struts包这个问题就不会出现了,有没有人碰到多这个问题,产生的原因到底是什么啊?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • iteye_15225 2009-09-28 10:52
    已采纳

    换了2.1.6的包之后,把相应的xwork和ognl的包也一并更新了

    LZ的代码没啥问题。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • earthsky 2009-09-23 14:53

    public class HelloWorld extends ActionSupport {
    private String name;
    private User user;
    。。。。。。。。
    }

    对struts2中action的get和set一个对象,一定要使用struts2的converter方法

    例如:首先编写User类

    之后在你编写的Action类的同个目录下创建了和Action类同名的properties文件 如你创建的HelloWorld-conversion.properties文件

    在HelloWorld-conversion.properties文件中填写如下内容:
    Element_user=package.User

    评论
    解决 无用
    打赏 举报
  • javabull 2009-09-23 23:29

    SET方法没有参数
    [code="java"]public void setUser()
    {
    this.user = user;
    } [/code]

    我用STRUTS2两年多了,就从来就没有用过什么conversion.properties,
    真有那么回事?

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题