gpt4 book ai didi

java - 高级通配符操作从 URL 中删除逗号?

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:03 25 4
gpt4 key购买 nike

我有以下struts2.xml

<struts>

<constant name="struts.enable.SlashesInActionNames" value="true"/>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
<constant name="struts.patternMatcher" value="regex" />
<constant name="struts.devMode" value="true" />

<package name="ro.fiveplus.cms" namespace="/" extends="struts-default">

<action name="/{categoryName}/aaaa" method="test" class="test.Test">
<interceptor-ref name="debugging"/>
<interceptor-ref name="staticParams">
</interceptor-ref>
<result name="success">/index.jsp</result>
</action>

</package>

</struts>

public class Test extends ActionSupport{

Map<String, String> params;
private String categoryName;

private static final long serialVersionUID = -5666734745185765139L;

public String test(){
System.out.println("categoryName: "+categoryName);
return SUCCESS;
}

public String getCategoryName() {
return categoryName;
}

public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
}

与库

antlr-2.7.7.jar
commons-beanutils-1.9.2.jar
commons-collections-3.2.jar
commons-digester-2.0.jar
commons-fileupload-1.2.1.jar
commons-io-2.4.jar
commons-lang-2.6.jar
commons-lang3-3.3.2.jar
commons-logging-1.2.jar
compiler-0.8.4.jar
dom4j-1.6.1.jar
freemarker-2.3.20.jar
guava-18.0.jar
javassist-3.18.2-GA.jar
jaxen-1.1.1.jar
jboss-transaction-api_1.2_spec-1.0.0.Final.jar
jcl-over-slf4j-1.7.7.jar
log4j-1.2.15.jar
mvel2-2.0.11.jar
ognl-3.0.6.jar
slf4j-api-1.7.7.jar
spring-core-3.2.0.RELEASE.jar
spring-web-3.2.0.RELEASE.jar
struts2-core-2.3.20.jar
velocity-1.7.jar
velocity-tools-2.0.jar
xwork-core-2.3.20.jar

如果我访问

http://localhost:8080/test2/category1/aaaa.action

在控制台中正确打印categoryName:category1

但是如果我访问

http://localhost:8080/test2/category1,category2/aaaa.action

在控制台中,它打印 categoryName:category1category2 而不是 categoryName:category1,category2

它似乎删除了一些字符,例如逗号和空格。

它适用于 Struts 版本 2.2.31。

有什么办法可以解决这个问题吗?

最佳答案

解决了!我添加了

<constant name="struts.allowed.action.names" value="[,a-zA-Z0-9._!/\-]*" />

在struts.xml中一切正常

默认为“[a-zA-Z0-9._!/\-]*”

感谢@AleksandrM 的提示!

关于java - 高级通配符操作从 URL 中删除逗号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28945964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com