如何使一个参数化的url与struts2标签(例如.用于设置为表单操作url)



jsp头文件是:

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

我想使表单操作url基于basePath。我尝试了不同的标签,但它没有工作!<%=basePath%>不起作用;也许是因为struts2标签首先呈现。无论我做什么尝试和错误与#, %, {或属性标签,我不能使它工作!例如<s:form name="searchItem" action="%{basePath + '/AdvancedSearch.action'}">就是一个不成功的尝试!

我只是可以让它工作用一个肮脏的hack:

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

但是我希望有一个更好的hack来让我消除<s:set>标签行!

正如@Quaternion所说:

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

这里已经解释了

s:url标签,并且有很多在线示例。此外,如果你使用get方法的形式,你可以使用s:hidden tags.

相关内容

  • 没有找到相关文章

最新更新