我目前正在使用我的Struts2配置进行通配符测试,但我坚持使用这一配置。
<action name="/*/*" class="checkBlogUrl" method="testing">
<param name="blogSiteUrl">{1}</param>
<param name="test">{2}</param>
<result name="success">/WEB-INF/jsp/cmsPages/index.jsp</result>
</action>
<action name="/*/postPreview1" class="blogPostAction" method="test">
<param name="blogSiteUrl">{1}</param>
<result name="success">/WEB-INF/jsp/cmsPages/templatePicker.jsp</result>
</action>
如果我访问,myurl.com/hello/hi
我将被重定向到index.jsp
但是,如果我访问,myurl.com/hello/postPreview1
我也会被重定向到index.jsp
而不是templatePicker.jsp
。
我在这里做错什么了吗?该支柱通配符商务部说,最后一个将取胜
编辑:只是试图切换它们,它工作O_O。我在读文档吗?
您在操作名称中使用斜杠,该斜杠在通配符映射器中无法正常使用。正如我在链接的答案中所说的,这种情况下最好的模式匹配器是regex
模式匹配器。
<constant name="struts.patternMatcher" value="regex"/>
请参阅高级通配符。
<action name="/{blogSiteUrl}/{test}" class="checkBlogUrl" method="testing">
<result name="success">/WEB-INF/jsp/cmsPages/index.jsp</result>
</action>
<action name="/{blogSiteUrl}/postPreview1" class="blogPostAction" method="test">
<result name="success">/WEB-INF/jsp/cmsPages/templatePicker.jsp</result>
</action>
关于通配符映射器的文档。让我们看一下示例 空白 应用程序:
<package name="example" namespace="/example" extends="default">
<action name="HelloWorld" class="example.HelloWorld">
<result>/WEB-INF/jsp/example/HelloWorld.jsp</result>
</action>
<action name="Login_*" method="{1}" class="example.Login">
<result name="input">/WEB-INF/jsp/example/Login.jsp</result>
<result type="redirectAction">Menu</result>
</action>
<action name="*" class="example.ExampleSupport">
<result>/WEB-INF/jsp/example/{1}.jsp</result>
</action>
<!-- Add actions here -->
</package>
因此,URL将按以下顺序进行匹配:
http://localhost:8080/example/HelloWorld
http://localhost:8080/example/Login_input
http://localhost:8080/example/Register
我要说的是,更具体的映射先于较不具体/常见的映射,它之所以会获胜,是因为它是按操作配置的顺序首先找到的。所有与有序配置不匹配的内容都将落入最后一个不太具体的映射。
问题内容: 我正在尝试创建一个通用类型,该通用类型保留已创建的自身版本的地图以供以后使用。实际上,这是一种单例模式,其中每种类型都有一个实例。到目前为止,我的代码是: 但是,我仍然不确定我是否“做对了”。感觉我应该能够指定该集合为(类-> FieldBinder)。IDE警告有关return语句的事实只会加强这种想法。 有没有更好的方法来解决这个问题? 注意:这个问题似乎密切相关,但是距离足够远,
本文向大家介绍Struts2配置文件中使用通配符的方法(三种形式),包括了Struts2配置文件中使用通配符的方法(三种形式)的使用技巧和注意事项,需要的朋友参考一下 Struts2简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Stru
Java在Map接口中提供了通用支持。 语法 (Syntax) Set<T> set = new HashSet<T>(); 哪里 set - Set Interface的对象。 T - 在set声明期间传递的泛型类型参数。 描述 (Description) T是传递给通用接口Set及其实现类HashSet的类型参数。 例子 (Example) 使用您选择的任何编辑器创建以下Java程序。 pa
我有这个json字符串: 当我用Jackson将其转换为映射[字符串,对象]时,开始日期的类型是字符串,我如何告诉Jackson将其转换为日期时间类型?
问题内容: 我想拥有一个Class对象,但是我想强迫它代表的任何类扩展A类并实现接口B。 我可以: 要么: 但我不能两者都做。有没有办法做到这一点? 问题答案: 实际上,你可以做你想做的事。如果要提供多个接口或一个类加接口,则必须使通配符看起来像这样: 请参见sun.com上的泛型教程,特别是页面底部的“ 绑定类型参数”部分。实际上,如果需要,你可以列出多个接口,并& InterfaceName根
问题内容: 我正在使用这些div进行样式设置,但是我还需要唯一的标识符1,2,3,4等。因此,我将其添加为另一个类。 有没有办法只上一堂课。我尝试在此CSS中使用通配符,但没有用。 问题答案: 您需要的称为属性选择器。以下是使用您的html结构的示例: 可以代替或添加任何元素,也可以代替或添加指定元素的任何属性。 —以“ tocolor-”开头。 —包含直接在空格字符后出现的子字符串“ tocol