JSP 在JavaScript中访问Struts 2变量

rqqzpn5f  于 2022-12-07  发布在  Java
关注(0)|答案(2)|浏览(197)

我在JSP中设置了一个Struts变量:

<s:set var="actionName" value="stockCountFind.action" scope="request" />

在javascript函数中,我使用

function getAttributeAndGoToAction() {
  var actionName = <s:property value="#actionName"/>;
  alert(actionName);
}

但是当我试图调用JS函数时,它说它没有被定义。

30byixjq

30byixjq1#

请尝试使用以下方法:

function getAttributeAndGoToAction()
{
  var actionName = "%{actionName}";
  alert(actionName);
}

只需用***%{}***将变量括起来
我在. jsp中以如下方式使用此类变量:

<s:set var="myVar"><c:out value="${myVar}"/></s:set>
<s:a href="%{myVarRef}" title="%{myVar}" target="_blank">
   ...
</s:a>
laximzn5

laximzn52#

Define variable inside the JS not in the JSP like below.

<s:set var="variableName"><s:property value='variableValue'/></s:set>

In my case I store value in the session, so set variable as,

<s:set var="variableName"><s:property value='#session["attributeName"]'/></s:set>

In your case, if you store value in the request, then it like,

<s:set var="variableName"><s:property value='#attr["attributeName"]'/></s:set>

Then can access variable along with # mark like #attributeName for operations.
Example: <s:if test="#attributeName.equals('ABC')"></s:if>

相关问题