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

初学struts请问一个有关问题

2012-03-22 
初学struts请教一个问题JSP页面跟action传值的问题我JSP想通过字符串的传递不同 在action中接受 从而判断

初学struts请教一个问题
JSP页面跟action传值的问题
我JSP想通过字符串的传递不同 在action中接受 从而判断去不同的页面 请问要在action中怎么操作
具体代码如下
jsp页面
<a href='<s:url action="btaction"><s:param name="todo" value="at"></s:param></s:url>' 添加书类</a>
<a href='<s:url action="btaction"><s:param name="todo" value="ab"></s:param></s:url>' 添加新书</a>
action中代码
private List<BookType> listbt;
private BooksDao bd = new BooksDao();
private String todo;
public String execute(){
listbt= bd.bt();
System.out.println(listbt.size());
System.out.println("todo is "+todo);
if(listbt!=null&&listbt.size()>0){
msg="查询成功!";
if("at".equals(todo)){
return "addtype";
}else{
return "addbook";
}
}else{
return "error";
}

}
配置文件中
<action name="btaction" class="com.xmbcit.action.BtAction">
<result name="addtype">/admin/addSuperType.jsp</result>
<result name="addbook">/admin/addBooks.jsp</result>
<result name="error">/admin/addBooks.jsp</result>
</action>

[解决办法]
你的action中是不是没有定义todo的setter/getter方法
[解决办法]
struts2的话可以不设定setter/getter,但是你要接受参数todo要是public类型
[解决办法]

探讨

引用:
struts2的话可以不设定setter/getter,但是你要接受参数todo要是public类型

public String todo;
改成 public 了 还是报空指针异常
System.out.println(listbt.size());
System.out.println("todo is "+todo);
12
……

[解决办法]
把action的完整代码贴出来吧。
应该是set/get上的问题吧。再仔细看看?
[解决办法]
<s:url action="btaction"><s:param name="todo" value="at"></s:param></s:url>
这样需要注入对象
 直接<s:hidden name="todo" > 隐藏传值

热点排行