当前位置: 首页 > 面试题库 >

在Struts 2中在URL中传递参数而没有查询字符串

潘智刚
2023-03-14
问题内容

我喜欢使用URL之类的host/ActionName/123/abc/,而不是传递URL之类的查询字符串host/ActionName?parm1=123&parm2=abc

如何在Struts2中做到这一点?

我做了如下。但它不起作用,显示500错误代码

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

<package name="default" extends="struts-default" namespace="/">
        <action name="/action/*"
    class="gov.apiic.serviceRequest.action.ServiceRequest" method="method" >
    <param name="p1">{1}</param>
    <result name="success">views.jsp</result>
    </action>
</package>

问题答案:

在2.1+下使用纯Struts2是不可能的。解决方法是,可以使用UrlRewriterfilter进行此操作。从Struts2的2.1+使用通配符的帮助下,你可以使用像host/ActionNmae/param1-123/param2-abc看到这样的帖子,但不喜欢host/ActionNmae/123/abc/。区别在于在第二种情况下没有参数名称。解决方法是在操作名称后使用“
参数”。

@Action(value = "/ActionNmae/*/*", params = {"param1", "{1}", "param2", "{2}"}


 类似资料:
  • 问题内容: 我正在尝试使用Struts2实现以下目标 这就是我在做什么: 为什么以上内容不能重定向为以下任何建议: 问题答案: 到目前为止,对我有用的解决方案是 在操作中定义味精的设置者和获取者的位置

  • 有没有办法不在方法请求和集成请求中定义URL查询字符串参数,并将查询字符串传递给HTTP代理? 例如,在https://{api id}-api.us-east-1.amazonaws.com/test/user?start=1 查询字符串1. start 2. end 若我把URL查询字符串参数放在方法请求和集成请求中,那个么我就能够得到这两个查询字符串。然而,如果我不添加它们并在postman

  • 问题内容: 是否存在通过查询字符串传递数组的标准方法? 需要明确的是,我有一个带有多个值的查询字符串,其中一个是数组值。我希望将该查询字符串值视为一个数组-我不希望该数组爆炸,以使其与其他查询字符串变量没有区别。 编辑: 根据@Alex的答案,没有标准的方法可以执行此操作,因此我的后续工作是什么才是 识别 我正在读取的参数同时是 PHP 和 Javascript 数组的简单方法? 用相同的名称命名

  • 问题内容: 在我的HQL查询下方找到 该查询工作正常,但是在此情况下,我想传递userId的值,但无法弄清楚该怎么做。请帮助..!提前致谢..!! 问题答案: 我很简单地将参数添加到HQL __ 在这里,我有硬编码15您可以简单地使用变量代替它

  • 我正在实现一个Android应用程序来加载RSS提要。在我决定添加一个新屏幕以显示两个按钮并尝试向AsyncTask传递一个字符串值之前,它工作得非常好。其思路是这样的:屏幕将显示两个按钮供用户选择。一旦用户点击了其中一个按钮,它将调用AsyncTask以及字符串值(url)到readRSS(url),然后rss提要将由displayRSS(url)显示。readRSS(url)将相应地加载RSS

  • 问题内容: 我想将参数(即字符串)传递给Onclick函数。目前,我这样做: 例如,result.name等于字符串“ Add”。当我单击此按钮时,出现一个错误,提示未定义添加。由于此函数调用可以完美地与数字参数一起使用,因此我认为它与字符串中的符号“”有关。以前有人遇到过这个问题吗? 问题答案: 看起来您是从字符串构建DOM元素。您只需要在result.name周围添加一些引号即可: 您实际上应