3

我想访问request中的一些属性,例如request中的base属性,下面是request中的部分值

 request    ...base=/ecs, stack=com.opensymphony.xwork2.ognl.OgnlValueStack@11c4b31}, __cleanup_recursion_counter=1, .freemarker.RequestParameters=freemarker.ext.servlet.HttpRequestParametersHashModel@1c00cb4 ...

<s:debug /><s:property value="%{#request.base}" /> 用来访问base中的属性request,但在我的 jsp 中没有显示任何内容。所以为什么?

4

2 回答 2

3

不知道你为什么需要这个,但只有baseinside requestis inside .freemarker.TemplateModelwhich is ScopesHashModel。所以你需要使用方法get从那里获取东西。

<s:property value="#request['.freemarker.TemplateModel'].get('base')" />

试试这个:

<s:property value="#request['javax.servlet.include.context_path']"/>

更新

如果您只需要上下文路径,请为此使用<s:url>标签。

<s:url value="/"/>
于 2013-04-02T11:28:10.620 回答
-1

如果您想访问请求参数,以下将起作用

<s:property value="#parameters['base']"/>

如果您想访问请求的属性,那么以下应该可以工作

<s:property value="#request.base"/>

或者

<s:property value="#request['base']" />
于 2013-04-03T16:44:54.620 回答