我的问题是这样的。JSP中有处是这样写的:<s:iterator value="#newsList" id="news">
            
 <tr bgcolor='#FFFFFF'>
<td height='30'><div align='center'>
<s:property value="#news.title"/>
</div></td>
<td><div align='center'>
<s:action name="GetTypeName">
<s:param name="type.id" value="%{news.typeId}"></s:param>
</s:action>
<s:property value="#request.typeName"/>
</div></td>
<td><div align='center'><s:property value="#news.date"/></div></td>
<td><div align='center'><s:property value="#news.browseNum"/></div></td>

             <td><div align='center'><a href="EditNews.jsp?news.id=<s:property value='#news.id'/></div></td></tr>
</s:iterator>打印出的参数是正确的,网页跳转的也正常。但是会出现如下警告:
2012-8-1 14:24:47 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: Error setting expression 'news.id' with value '[Ljava.lang.String;@ac4d3b'
ognl.OgnlException: target is null for setProperty(null, "id", [Ljava.lang.String;@ac4d3b)
后面的我就不贴了。
News类的id属性的get,set方法如下:
private Integer id;  // 新闻编号public void setId(Integer id){
this.id = id;
}
public Integer getId(){
return this.id;
}
上网找了很久也没有什么有效的解决办法,还希望大家帮帮忙。看看到底是什么问题。困扰很久了。谢谢啦。
是类型转换的问题么。id是整形,但是警告里说的是string型。什么原因呢。网页可以正常跳转,求解。

解决方案 »

  1.   

    你需要贴出你EditNews.jsp代码,不过依我看,你可能在EditNews.jsp代码中并没有news这个实例,所以给一个为null的news的id赋值会出警告。试着用<a href="EditNews.jsp?id=<s:property value='#news.id'/>,当然,是否正确仍取决取你的EditNews.jsp代码。
      

  2.   


    你好,我不是很明白你的意思。
    我在EditNews.jsp中写了  <s:action name="GetNews"></s:action>这个action中,有一句 int id = news.getId(); 
    这样叫有news这个实例么。news在action中声明:private News news = new News();谢谢啦。
      

  3.   

    action那边new实例这样定义
    private New new;
    再提供new的get set 方法