JavaScript中的Access Struts 2变量

JavaScript中的Access Struts 2变量,javascript,java,jsp,struts2,Javascript,Java,Jsp,Struts2,我在JSP中设置了一个Struts变量: <s:set var="actionName" value="stockCountFind.action" scope="request" /> 在javascript函数中,我使用 function getAttributeAndGoToAction() { var actionName = <s:property value="#actionName"/>; alert(actionName); } 函数get

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

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

在javascript函数中,我使用

function getAttributeAndGoToAction() {
  var actionName = <s:property value="#actionName"/>;
  alert(actionName);
}
函数getAttributeAndGetAction(){
var actionName=;
警报(actionName);
}
但是当我尝试调用JS函数时。它说它没有定义

尝试使用以下方法:

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>

...

什么是未定义的?生成的HTML是什么样子的?你需要提供更多信息/做更多事情research@JuanMendes它说javascript函数没有定义。html不是这一行的泛型。如果函数没有定义,那么你会有更大的问题,因为。您需要自己进行一些调试,在调试前后进行一些打印。如果你不告诉我发生了什么,我们怎么帮你?我肯定有一些东西可以帮助理解这个问题。@JuanMendes为什么你认为我什么都没做。问题在于我尝试使用支柱标记获取属性的行。如果我删除这行。该函数执行。我还尝试登录控制台。它起作用了。现在,如果你知道如何解决我的问题,请分享,但不要妄自尊大。谢谢。我想你还没有告诉我们你试过什么。如果你不给我们提供详细信息,我怎么知道呢?我是否也需要在我的jsp中更改任何内容,或者你在回答中提到的js更改就可以了?你只需要更改js函数。但是请记住,您的函数应该位于同一个.jsp文件中。如果您的函数位于包含在.jsp中的单独文件(.js)中,它在任何情况下都不会工作,因为变量的可视范围是您的jspfile@Saramali我刚刚更新了我的答案。看起来没有必要在js函数中使用's:property'标记。只需%{actionName}或尝试${actionName}这将无法正常工作;不能在任意位置使用OGNL表示法。您需要使用jspel,
${actionName}
,或者继续使用标记。此外,该值应该是JS转义的,以防它包含任何双引号。您只是建议使用不同的语法,而不是解释错误是什么。答案不应该是猜测或“试试这个”