gpt4 book ai didi

java - 在 Struts 2 中为所有 URL 添加一个变量

转载 作者:行者123 更新时间:2023-12-01 14:18:46 25 4
gpt4 key购买 nike

我正在开发一个网络应用程序,用户可以在其中选择要使用的帐户,然后他们点击的所有 URL 都指向该帐户。当前 Activity 帐户存储在 session 中,但这意味着它不包含在用户书签中,当用户 session 超时时它会丢失,并且当用户共享链接时它们不包含相关帐户...

有什么方法可以包含 accountID在每个 URL 中而不是手动将它添加到(相当大且仍在增长的)网络应用程序中的所有 URL?

一种方法是将其作为路径的第一部分,因此所有 URL 都类似于:

  • /123/discussions/view.do
  • /123/account/edit.do

等等,其中 123accountID .

如果所有路径都可以是相对的,那会很好。但我还没有想出如何让这种方法与 Struts namespace 很好地配合。

通常,Struts2 标签库生成的所有路径都以/ 开头。 ,并且操作通配符匹配也不会启动,直到 命名空间匹配。

如果我能以某种方式得到 accountID在命名空间部分之后的路径中,我认为我可以使用操作通配符执行正确的操作,但困难的部分仍然是首先将 ID 放入 URL。

最好的解决方案可能就是制作自定义版本的 <s:a> , <s:form> , 和 <s:url> ,但我不确定这有多容易。

重要

有几个答案仅解决如何将这些 URL 映射到 Action

这个问题的难点实际上是如何获得 accountID进入所有 URL 和表单路径,而无需在整个应用程序中手动将其添加到每个 URL 和表单路径中。

目前在我看来,唯一的方法是为 URL 和表单制作自定义版本的 Struts JSP 标记。因此,关于如何做到这一点的任何指示都会很有用。

最佳答案

查看 Advanced Wildcard Mapping

您应该这样定义您的操作:/{accountId}/discussion/view.do/
这是一个例子:Example

关于java - 在 Struts 2 中为所有 URL 添加一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14117594/

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