struts.xml中的<param name =“location”/>是什么意思?

时间:2014-07-08 02:15:09

标签: struts2

最初,我正在试图找出什么

<param name="location"> 

表示在struts.xml文件中,见下文:

<action name="hello" class="com.tutorialspoint.struts2.HelloWorldAction" method="execute">
<result name="success" type="redirect">
<param name="location">
/NewWorld.jsp
</param >
</result>
</action>

源: http://www.tutorialspoint.com/struts_2/struts_result_types.htm

教程确实说:

“我们可以在<result...>元素的正文中提供位置,也可以作为<param name="location">元素。重定向也支持parse参数。这是一个例子 使用XML配置:“

位置是否等于网址或其他内容?

我用谷歌搜索了,在下面这两个网站中,虽然我能理解<param name="fruit">,但我不明白它是如何变成

<s:param name="fruit">

,注意s。我知道struts的代表并且是一个struts元素,但这与

有什么关系
<param name=”fruit"> 

?一个是在xml文件中,另一个是在jsp中。

http://struts.apache.org/release/2.3.x/docs/param.html “Struts 2”param“标签用于参数化其他标签。”我也不明白这意味着什么,以及它与我原来的问题有什么关系。

红色混淆的原始来源,更具体地说,<param name=”location”>是什么意思?

4 个答案:

答案 0 :(得分:0)

似乎代码用于重定向到新页面,将传递location参数以定义需要显示的页面。 (请求应重定向到)

答案 1 :(得分:0)

&#34;&#34;简写&#34;在示例中的版本中,我们提供了一个JSP路径作为结果标记的主体。

<result name="success" type="dispatcher">   //type="dispatcher" by default so also can ignore this thing
/WEB-INF/login.jsp
</result>

我们也可以在元素中使用标记来指定JSP文件,以防我们感觉不够用。

<result name="success" type="dispatcher">
<param name="location">
/WEB-INF/login.jsp
</param>
</result>

我们还可以提供一个parse参数,默认情况下为true。 parse参数确定是否将为OGNL表达式解析location参数。

答案 2 :(得分:0)

在结果配置中,param标记指定了Result的属性,该属性将在执行结果时设置。此属性可能出现在ServletRedirectResult中。此类由struts-default.xml中的结果类型配置确定。有关重定向结果的更多信息,您可以找到herelocation默认属性,因此可以在result代码的正文中进行设置,而无需指定param。可以在param中使用struts.xml标记来设置配置对象的属性。 s:param标记不同,因为它是JSP标记。 可以用于参数化其他JSP标记,可以填充参数。

答案 3 :(得分:0)

<param name="location">中的struts.xml指向应返回的资源。

在您的示例中,它指向位于/NewWorld.jsp的资源,因此如果您的action-method返回字符串/NewWorld.jsp,则会呈现并返回success(作为响应)。

必须将其命名为location,否则无效。 如果您查看班级org.apache.struts2.dispatcher.StrutsResultSupport,您会找到名为location的媒体资源。此属性将使用<param name="location">

中的值填充

您还会找到名为encode的媒体资源。如果您想更改encode - 属性,请使用<param name="encode">

请勿将param中的struts.xml - 标记与s.param - jsp文件(或任何其他资源文件)中使用的标记混淆。他们根本没有关系。

我希望这个答案可以帮助你理解其他答案,因为它们比我的更准确。