使用OGNL在Struts 2中使用2个 *** 作参数创建动态URL

使用OGNL在Struts 2中使用2个 *** 作参数创建动态URL,第1张

使用OGNL在Struts 2中使用2个 *** 作参数创建动态URL

你需要

Advanced Wildcard Mappings

从文档中:Struts2的高级通配符映射:

高级通配符

从2.1.9+开始,可以在 *** 作名称中定义正则表达式。要使用这种形式的通配符,必须设置以下常量:

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

正则表达式可以有两种形式,最简单的一种是

{FIELD_NAME}
,在这种情况下,
FIELD_NAME
将使用匹配的文本填充 *** 作中带有的字段,例如:

<package name="books" extends="struts-default" namespace="/">    <action name="/{type}/content/{title}" >        <result>/books/content.jsp</result>    </action></package>

在此示例中,如果

/fiction/content/Frankenstein
请求了url ,则BookAction的字段“
type
”将设置为“
fiction
”,而字段“
title
”将设置为“
Frankenstein
”。

如果使用Struts2-Convention-Plugin,您的示例将是:

@Action(value="/books/{author}/{year}")public class Books extends ActionSupport {    private String  author;     private Integer year;        public String execute(){                 if (noDataFound) return NONE;        return SUCCESS    }}

如果您需要在

prepare()
method中使用这些参数,请阅读此问题。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5000219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存