首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

关于ognl.OgnlException: target is null for setProperty的有关问题

2012-12-15 
关于ognl.OgnlException: target is null for setProperty的问题本帖最后由 blazecheng 于 2012-11-26 10:

关于ognl.OgnlException: target is null for setProperty的问题
本帖最后由 blazecheng 于 2012-11-26 10:19:30 编辑 今晚出现了这个问题,到处找解决办法就是解决不了,现在这里求助于各位。

ognl.OgnlException: target is null for setProperty(null, "userGender", [Ljava.lang.String;@155e508)
。。。
[framework] 2012-11-25 23:02:40,409 - com.opensymphony.xwork2.ognl.OgnlValueStack -20302 [http-8080-1] WARN  com.opensymphony.xwork2.ognl.OgnlValueStack  - Error setting expression 'userinfo.userNickname' with value '[Ljava.lang.String;@2f8c99'
ognl.OgnlException: target is null for setProperty(null, "userNickname", [Ljava.lang.String;@2f8c99)
。。。

action中:

public class UserManageAction extends ActionSupport{
private @Resource Userinfo userinfo;
private @Resource IUserinfoDAO userinfoDAO;
        public String edit(){
userinfo=userinfoDAO.findById(userinfo.getUserId());
return SUCCESS;
}
        public String update(){
System.out.println(userinfo.getUserId());
userinfoDAO.merge(userinfo);
return SUCCESS;
}
        public void setUserinfo(Userinfo userinfo) {
this.userinfo = userinfo;
}
public Userinfo getUserinfo() {
return userinfo;
}

我的页面里面的数据是通过edit方法得到的,并且在页面里面显示正常,但很当我点击修改的时候,update里面的System.out.println(userinfo.getUserId());语句都还没执行到就出现了那些异常信息。

我打算只能修改用户名和性别,其他的不能修改,但是提示异常的恰恰是这两个可以修改的字段。对了,页面里面显示出来的并不是整张表的全部字段,但是我是用<s:hidden>标签把剩余的字段也放进去的时候,异常提示就会把他们也同样提示出来。
页面中:

 <s:form name="update" action="update" namespace="/userManege" method="post">
    <table>
    <tr>
        <td>用户编号:</td>
        <td ><s:textfield name="userinfo.userId" disabled="true"/></td>
      </tr>
      <tr>
        <td>用户名:</td>
        <td ><s:textfield name="userinfo.userName" disabled="true"/></td>
      </tr>
      <tr>
        <td>昵称:</td>
        <td ><s:textfield name="userinfo.userNickname" /></td>
      </tr>
      <tr>
        <td>性别:</td>
        <td colspan="4">
        <s:radio list="#{true:'男',false:'女'}" name="userinfo.userGender" ></s:radio>
        </td>
      </tr>
      <tr>
        <td>电子邮箱:</td>
        <td ><s:textfield name="userinfo.userEmail" disabled="true"/></td>
      </tr>
      <tr>
        <td>注册日期:</td>


        <td ><s:date name="userinfo.userRegdate" format="yyyy-MM-dd" /></td>
      </tr>
      <tr>
        <td  colspan="2"></td>
        <td><s:submit value="修改"></s:submit></td>
        <td><a href="/userManage/list" target="mainFrame">返回</a></td>
        <td></td>
      </tr>
    </table>
    <s:hidden name="userinfo.userPwd" ></s:hidden>
    <s:hidden name="userinfo.userPic"></s:hidden>
  </s:form>


[最优解释]
 <s:hidden name="userinfo.userPwd" value="userinfo.userPwd" ></s:hidden>  加上这个 试试
[其他解释]
个人觉得是
userinfo.userNickname
userNickname
的问题,呵呵,不太确定
[其他解释]
引用:
<s:hidden name="userinfo.userPwd" value="userinfo.userPwd" ></s:hidden>  加上这个 试试

不行。。。
[其他解释]
引用:
个人觉得是Java code?1userinfo.userNickname与Java code?1userNickname的问题,呵呵,不太确定

也不是

热点排行