网络上有这样的方法
使用Action的属性接收参数:
    a.定义:在Action类中定义属性,创建get和set方法;
    b.接收:通过属性接收参数,如:userName;
    c.发送:使用属性名传递参数,如:user1!add?userName=Magci;但是当我对按上面的做,为什么接收不到参数呢?

在action里面创建了showChildTreeId 属性,创建get和set方法 
然后在*********/action名字?showChildTreeId=11111
当我输出时,showChildTreeId 为空
这是怎么回事?
求解

解决方案 »

  1.   

    struts.xml中,你的请求所在的package继承struts-default了吗?即:<package name="" extends="struts-default">
    </package>
      

  2.   

    showChildTreeId=ServletActionContext.getRequest().getParameter("showChildTreeId");
    使用这个试试。配置里面好像是需要配置什么东西,不过忘了,这个可以用。
      

  3.   

    同意一楼的大拿的因为如果你继承了struts-default ,那么默认的拦截器栈中params这个拦截器就启用了该拦截器负责将请求的参数设置为 Action 的属性,请求参数 也就是你的showChildTreeId这个参数会映射到你action中的showChildTreeId属性..如果你的struts配置文件时继承自struts-default 的话 ,应该没有问题才对(除非你自定义了拦截器而没有引用默认拦截器)另外2楼的按照传统的方式获取 request请求参数也可以.. 
    不过既然你使用了struts2框架,这样既不必了。检查下你的配置文件。你读取showChildTreeId 是怎么读的呢? 会不会已经有值而你读取的写法不对?
      

  4.   

    struts.xml中:
    <package name="p1" extends="struts-default">
         <action name="login" class="找到你的action" method="找到你action里的方法">
                     <result>/登陆后转跳的.jsp</result>
         </action>
    <package>域模型接受参数:前台jsp中:
    <form action="login">
    <input type="text" name="user.name">
    <input type="text" name="user.pswd">
    <input type="submit">
    <form>后台实体类中:
    定义user,并有2个属性,name和pswd,提供get,set方法后台action中:
    定义user,提供get,set方法后,提交表单S2会自己为user注入name和pswd两个属性
    public String login(){
        return SUCCESS;
    }
    希望对你有帮助~
      

  5.   

    <package name="administrator" namespace="/administrator"
    extends="struts-default"> <interceptors>
    <interceptor class="com.govweb.access.action.AuthorityInterceptor"
    name="authority" />
    <interceptor-stack name="mydefault">
    <interceptor-ref name="defaultStack" />
    <interceptor-ref name="authority" />
    </interceptor-stack>
    </interceptors>
    这样算不算引用了?
    我也尝试过把拦截器去了就行了,但是拦截器不能丢了啊,怎么处理?
      

  6.   

    <package name="administrator" namespace="/administrator"
    extends="struts-default"> <interceptors>
    <interceptor class="com.govweb.access.action.AuthorityInterceptor"
    name="authority" />
    <interceptor-stack name="mydefault">
    <interceptor-ref name="defaultStack" />
    <interceptor-ref name="authority" />
    </interceptor-stack>
    </interceptors>
    这样算不算引用了?
    我也尝试过把拦截器去了就行了,但是拦截器不能丢了啊,怎么处理?
      

  7.   

    注意拦截器的顺序撒
    <interceptor-ref name="defaultStack" />放在拦截器栈的最后一个看看