- Errorsettingexpression'book.author' withvalue'[Ljava.lang.String;@14ab51b'ognl.Ogn
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了- Errorsettingexpression'book.author' withvalue'[Ljava.lang.String;@14ab51b'ognl.Ogn相关的知识,希望对你有一定的参考价值。
- Error setting expression 'book.author' with value '[Ljava.lang.String;@14ab51b'
ognl.OgnlException: target is null for setProperty(null, "author", [Ljava.lang.String;@14ab51b)
求解这个问题是怎么回事 完整的代码很多 所以 我只把关键代码贴出来 仅供参考 完美解决 追加50
Action的配置代码
<package name="ognlDemo" extends="struts-default" namespace="/ognlDemo">
<action name="BookAction" class="ognlDemo.Book">
<result name="success">BookSucess.jsp</result>
</action>
</package>
jsp页面的表单代码
<package name="ognlDemo" extends="struts-default" namespace="/ognlDemo">
<action name="BookAction" class="ognlDemo.Book">
<result name="success">BookSucess.jsp</result>
</action>
</package>
Action的代码
public Book book=new Book();
public String execute()
return SUCCESS;
public Book getBook()
return book;
public void setBook(Book book)
this.book = book;
实体类的代码
private String bookname;
private String author;
private double price;
private Date dateofpublish;
public Book()
public String getBookname()
return bookname;
public void setBookname(String bookname)
this.bookname = bookname;
public String getAuthor()
return author;
public void setAuthor(String author)
this.author = author;
public double getPrice()
return price;
public void setPrice(double price)
this.price = price;
public Date getDateofpublish()
return dateofpublish;
public void setDateofpublish(Date dateofpublish)
this.dateofpublish = dateofpublish;
JSP 代码贴错了
<s:form id="mFrom" action="BookAction" namespace="/ognlDemo" method="post">
<s:textfield name="book.bookname" label="书名" id="bookname"></s:textfield>
<s:textfield name="book.author" label="作者" id="author"></s:textfield>
<s:textfield name="book.price" label="价格" id="price"></s:textfield>
<ss:datetimepicker name="book.dateofpublish" label="时间"
displayFormat="yyyy-MM-dd" language="UTF-8" id="time"></ss:datetimepicker>
<s:submit ></s:submit>
</s:form>
异常
- Error setting expression 'book.author' with value '[Ljava.lang.String;@14ab51b'
ognl.OgnlException: target is null for setProperty(null, "author", [Ljava.lang.String;@14ab51b)
at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2239)
at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
at ognl.SimpleNode.setValue(SimpleNode.java:301).....
异常太多写不下了
这个真的没有 日常太多 没办法全部贴出来 可以贴出来一个 其他的几个都是一样的 只不过 到了具体的名字不一样 我补充上去
参考技术A Action的代码public Book book=new Book(); 这里首行你就new 了一个空的。
应该类似这样写
public class BookAction
private Book book;
....
set 、get方法()
我本军团为你解答追问
- -! 那我用ognl做什么 - -!还不如直接用struts带的数据类型转换
追答struts2 里面就是用ognl
追问struts2里面 可以配置类型转换方法的 那个 比你在action方法里面写get set好多了 还方便整理
追答我就听过 一种是传统的 用get set 的
还用一种是用注解 ,注解目前还有不少问题。
你这里前台用strut2 标签。 action也写了get set 方法。
- -!那样我宁可选择 Struts的类型转换功能 还比较方便管理一点
参考技术B 虎背熊腰 龙腾虎跃 虎虎生威 狼吞虎咽 虎口拔牙 虎怒震堕 虎略龙韬 龙吟虎啸 龙争虎斗 龙潭虎穴 虎尾春冰 龙行虎步strust2--postman遇到的ognl问题
WARNING: Error setting expression ‘upgradePlan.startTime‘ with value ‘[Ljava.lang.String;@4eb2ffba‘
ognl.MethodFailedException: Method "setStartTime" failed for object com.wasu.version.model.UpgradePlan@6167f892 [java.lang.NoSuchMethodException: com.wasu.version.model.UpgradePlan.setStartTime([Ljava.lang.String;)]
……
Caused by: java.lang.NoSuchMethodException: com.wasu.version.model.UpgradePlan.setStartTime([Ljava.lang.String;)
以上是关于- Errorsettingexpression'book.author' withvalue'[Ljava.lang.String;@14ab51b'ognl.Ogn的主要内容,如果未能解决你的问题,请参考以下文章
使用easyui时,Unexpected Exception caught setting 'sort' on 'class xxxAction
ognl.OgnlException: target is null for setProperty(null,"XXXX"...)