The exclamation mark has a special meaning for the struts2, have you
tried to inhibit by disabling DMI?

Try to add this row inside your struts.xml file.
<constant name="struts.enable.DynamicMethodInvocation" value="false" />


On 7 March 2011 03:51, Danyun.Liu <danyun....@gmail.com> wrote:
> Hi all,
>
>
>
> I met a problem that I don't know how to solve it.
>
>
>
> When I send a URL like  http://localhost/hello/a!b which contains "!", the
> server will return 500.
>
>
>
> The struts and web configuration is as below:
>
> Struts.xml
>
>    <package name="test" extends="struts-default" namespace="/hello">
>
>        <action name="*" class="com.example.action.Test" method="hi">
>
>            <param name="name">{1}</param>
>
>            <result name="success">/WEB-INF/ftl/hello.ftl</result>
>
>        </action>
>
> </package>
>
>
>
> Web.xml
>
>    <filter>
>
>        <filter-name>struts2</filter-name>
>
>
> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecut
> eFilter</filter-class>
>
>    </filter>
>
>     <filter-mapping>
>
>        <filter-name>struts2</filter-name>
>
>        <url-pattern>/*</url-pattern>
>
>    </filter-mapping>
>
>
>
> Action Code:
>
>
>
>    private String name;
>
>
>
>    public String getName() {
>
>        return name;
>
>    }
>
>
>
>    public void setName(String name) {
>
>        this.name = name;
>
>    }
>
>
>
>    public String hi(){
>
>        return SUCCESS;
>
>    }
>
>
>
>
>
> And I tried another way, nod passed the value in the url.  And I tried the
> invalid url : http://localhost/hello/gir!haha    and I can got the expected
> result 404," not found the action" as the struts will analysis the url and
>
> set "haha" as the invoke method.
>
>
>
>    <package name="test" extends="struts-default" namespace="/hello">
>
>        <action name="girl" class="com.example.action.Test" method="hi">
>
>            <result name="success">/WEB-INF/ftl/hello.ftl</result>
>
>        </action>
>
> </package>
>
>
>
> Action code:
>
>    public String hi(){
>
>        ActionContext.getContext().getValueStack().set("name","ann");
>
>        return SUCCESS;
>
>    }
>
>
>
> Thanks
>
> Dyun.
>
>



-- 
Maurizio Cucchiara

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to