如何在 struts2 中映射长 REST url - 使用 struts2 rest 插件
Posted
技术标签:
【中文标题】如何在 struts2 中映射长 REST url - 使用 struts2 rest 插件【英文标题】:How to map long REST urls in struts2 - using struts2 rest plugin 【发布时间】:2013-03-29 03:52:26 【问题描述】:过去几天我一直在学习使用 struts2 rest 插件。但是我没有找到如何映射长休息 URL。
例如 如果我想映射如下 URL:
/profiles/user-test/orders/64/item/4
在哪里
username is user-test
order id is 64
item id is 4
如何将这样的内容映射到 struts2 动作?
我在互联网上发现的只是一个正在编辑/显示的单个级别等。但是如果我想在多个级别上显示某些内容 - 那么如何进行?请指导。
【问题讨论】:
【参考方案1】:您可以使用Advanced Wildcard Mappings
完成此操作,无需 REST 插件:
/profiles/user-test/orders/64/item/4
用户名是用户测试
订单编号为 64
项目 ID 为 4
此示例所需的操作配置为:
<action name="/profiles/username/orders/order/item/item" class="fooBarAction">
<result>fooBar.jsp</result>
</action>
【讨论】:
成功了!!..抱歉回复晚了,我正在参加大学考试。 虽然它不能直接工作,但我不得不使用正则表达式来防止用户名在profiles/之后跨越完整的url,同样,我将正则表达式与其他named变量一起使用。 如果您愿意,请回答您自己的问题,以帮助未来的访客:) 那么 Struts2 REST 插件只对单级 URL 有用吗? :( 。谢谢你的回答,我也试试看。 这种映射在与 REST API 一起使用时不起作用。我的意思是,如果有动作/控制器说,movies
actors
reviews
并检查特定movie
的actors
或reviews
,我们将拥有像movies/movie_id/actors/actor_id
或@ 这样的URL 987654333@。但是由于'moves` actors
reviews
本身就是动作,它并没有按照我们想要的方式工作......不知道为什么,就是这样。任何人都可以看看这个问题吗? ***.com/questions/71044199/…以上是关于如何在 struts2 中映射长 REST url - 使用 struts2 rest 插件的主要内容,如果未能解决你的问题,请参考以下文章