0

我的jsp头文件是:

<%@ taglib uri="/struts-tags" prefix="s"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>

我想基于basePath. 我尝试了不同的标签,但没有奏效!<%=basePath%>不工作;可能是因为 struts2 标签首先呈现。无论我做什么尝试和错误#, %, {或属性标签,我都无法让它工作!例如<s:form name="searchItem" action="%{basePath + '/AdvancedSearch.action'}">是不成功的努力之一!

我只是可以让它与一个肮脏的黑客一起工作:

<s:set var="searchUrl"><%=basePath%>AdvancedSearch.action</s:set>
<form name="searchForm" method="get" class="searchform" action="%{searchUrl}">

但我希望有更好的技巧让我消除<s:set>标语!

4

1 回答 1

0

正如@Quaternion 所说:

struts2 将为表单构造 url,只需相应地设置命名空间和操作属性。如果您一般需要构造 url,您可以使用 s:url 标签,添加参数使用 s:param 标签。

s:url 标签已在此处进行了解释,并且有很多在线示例。此外,如果您对表单使用 get 方法,则可以使用 s:hidden 标签。

于 2013-01-14T14:20:15.500 回答