求高人帮小弟看看 struts2 中 <s:property/>读不出值什么原因

Action

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;
}

}

xml



register/input
/WEB-INF/jsp/yh/yhzc.jsp
register/init

yhzc.jsp

<!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"%>






/s:form

我提交后调用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]
正常应该是没有问题的。