import web.action.BaseAction;
public class YhzcAction extends BaseAction{
private static final long serialVersionUID = 1L;
private String msg;
public String init(){
//msg="aaaaaaaaaaaaa"
return INIT;
}
public String save(){
msg="aaaaaaaaaaaaa"
return SUCCESS;
}
public String input(){
return this.init();
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
register/input
/WEB-INF/jsp/yh/yhzc.jsp
register/init
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
我提交后调用save方法 想在jsp上打出aaaaaaaaaaaaa却打不出来,如果把init方法的注释去掉了就能打出来了,
请各位高手帮小弟看看什么原因?
我给你找了一个举例的文章,写的不错, chain互相传值的时候对表单的处理。
看看能不能解决你的问题。
我看了也挺受用的。[url]http://blog.csdn.net/liuyihu86822/archive/2009/06/05/4243762.aspx[/url]
你把init()去掉就好了。可以不去实现它
Init方法在拦截器类被创建之后,在对Action镜像拦截之前调用的。
你可以在init()中system.out.print() 输出一句话,看看它是在什么时候执行的,在你提交以后它也是否执行过?这样你就知道怎么回事了。
我按照你的写法做了一下没通过。我的action继承的是ActionSupport
xml中是这么配的,去掉了register,因为加上我访问不了。那么现在一切都没问题了。
[code="java"]
register/input
/WEB-INF/yhzc.jsp
init
[/code]
正常应该是没有问题的。