代码之家  ›  专栏  ›  技术社区  ›  tzim

Struts2,一个地址有两个变量的问题

  •  1
  • tzim  · 技术社区  · 16 年前

    我正在使用struts2,现在在我的jsp文件中有两个变量:

    ${server_address}
    ${pageContext.request.contextPath}
    

    现在我想在我的标签中连接它:

    <s:form action="%{server_address}%{pageContext.request.contextPath}/actionName.action">
    

    但生成的输出如下所示:

    <form method="post" action="http://10.0.0.5:8088/actionName.action" name="actionName" id="actionName">
    

    没有contextPath。。。如何连接这两个变量?

    3 回复  |  直到 16 年前
        1
  •  2
  •   Mariusz Zawadzki    16 年前

    试试这个

    <s:set var="baseUrl">${server_address}${pageContext.request.contextPath}</s:set>
    
    <s:set var="actionUrl">${baseUrl}<s:url action="actionName"/></s:set>
    
    <s:form action="%{actionUrl}">
    `enter code here`...
    </s:form>
    
        2
  •  2
  •   BalusC    16 年前

    使用 ${pageContext} 而不是 %{pageContext} pageContext 在Struts2的作用域中不可用,但在JSP的作用域中可用。

        3
  •  0
  •   Picrochole    13 年前

    在Struts2.3中

                <c:set var="businessActionMapping" value="foo" scope="session"/>
                <s:form action="%{#session.businessActionMapping}"
    

    您可能需要在struts.properties中设置altSyntax=TRUE

    推荐文章