关于Struts2用ModelDriven传值时表关联对象的问题

满院落梅香 2015-09-11 10:39:17
最近在用Struts2做一些练习,遇到一些问题,请教各位:
前台有一个添加新闻的网页addNews.jsp

<form action="news_add" method="POST">
新闻标题:<input type="text" name="title"><br>
新闻类型:<input type="text" name="newsType"><br>
新闻正文:<input type="text" name="info"><br>
<input type="submit" value="提交">
</form>



action类

public class NewsAction extends ActionSupport implements ModelDriven<News>
{
public String add() throws Exception {
System.out.println("进入添加新闻的方法!");


System.out.println("新闻正文:"+news.getInfo());
System.out.println("新闻正文:"+news.getTitle());
// System.out.println("新闻类型:"+news.getNewsType().getTitle());
return this.SUCCESS;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return super.execute();
}
private News news = new News();
@Override
public News getModel() {
// TODO Auto-generated method stub
return news;
}

}





JavaBean:
News:int id,String title,info NewsType newsType;
NewsType:int id,String title,boolean enable
省略setter和getter方法

现在的问题是,jsp一提交控制台报错
警告: Error setting expression 'newsType' with value '[Ljava.lang.String;@151c590'
ognl.MethodFailedException: Method "setNewsType" failed for object net.news.vo.News@c7195b [java.lang.NoSuchMethodException: net.news.vo.News.setNewsType([Ljava.lang.String;)]



度娘关于Struts2传值的问题,举例都是单表,没有表关联的例子,恳请各位赐教,谢谢
...全文
140 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
满院落梅香 2015-09-12
引用 1 楼 qq_25223941 的回复:
你这个问题很明显, 你的 newsType 是一个对象吧(NewsType), 然而你前台传过去的是一个string类型的值,也就是字符串 ,匹配不成功 所以报错。 结果方案: 1.修改newsType类型, 2.后台单独处理,获取newsType 字符串 然后在把他赋给对象NewsType
我现在在Action里加了一个私有的字符串用作接收新闻类型的标题,但是如果要赋值给news.getNewsType()里的话还是报错 500空指针错误 后来尝试发现只能在Action里new一个NewsType类型 请问还有其他方法可以解决吗? 谢谢
回复
Cx_轩 2015-09-11
你这个问题很明显, 你的 newsType 是一个对象吧(NewsType), 然而你前台传过去的是一个string类型的值,也就是字符串 ,匹配不成功 所以报错。 结果方案: 1.修改newsType类型, 2.后台单独处理,获取newsType 字符串 然后在把他赋给对象NewsType
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-09-11 10:39
社区公告
暂无公告