Struts2 struts 2:预期的相等符号错误

Struts2 struts 2:预期的相等符号错误,struts2,Struts2,我试图将按钮中的文本设置为“启用”或“提交”,具体取决于动作类成员的值(模式)。但它报告了一个错误,第一行写着“预期相等符号”。我搜索并发现有关于“equal symbol expected”错误的问题,但没有特定于Struts 2标记的问题。我都无法发现任何明显的错误,比如缺少结束语 如果有人能帮忙就好了 <s:set name="submitButtonLabel" value="<s:if test="mode.equals('enable')">Enable</s

我试图将按钮中的文本设置为“启用”或“提交”,具体取决于动作类成员的值(模式)。但它报告了一个错误,第一行写着“预期相等符号”。我搜索并发现有关于“equal symbol expected”错误的问题,但没有特定于Struts 2标记的问题。我都无法发现任何明显的错误,比如缺少结束语

如果有人能帮忙就好了

<s:set name="submitButtonLabel" value="<s:if test="mode.equals('enable')">Enable</s:if>    <s:else>Submit</s:else>" />


<s:submit value = "%{#submitButtonLabel}" cssClass="btn btn-gray" />


您不能像那样嵌套标记。将您的
写在
标签内

<s:set name="submitButtonLabel">
  <s:if test="mode.equals('enable')">Enable</s:if>
  <s:else>Submit</s:else>
</s:set>

使可能
提交

您不能像那样嵌套标记。将您的
写在
标签内

<s:set name="submitButtonLabel">
  <s:if test="mode.equals('enable')">Enable</s:if>
  <s:else>Submit</s:else>
</s:set>

使可能
提交
试试这个:

<s:submit value="%{mode.equals('enable') ? 'Enable' : 'Submit'}" />

试试这个:

<s:submit value="%{mode.equals('enable') ? 'Enable' : 'Submit'}" />


你不能那样嵌套标签。你不能那样嵌套标签。我不记得(总是使用oneliner set),酷;)+1@AleksandrI’非常感谢。这正是我犯的错误。我不记得(总是使用oneliner套件),酷;)+1@AleksandrI’非常感谢。这正是我犯的错误。为什么
${…}
而不是OGNL?@Jaiwo99谢谢你的回答。成功了!!在#模式中只有“#”是不需要的,因为模式是值堆栈上的操作成员变量。为什么
${…}
而不是OGNL?@Jaiwo99谢谢您的回答。成功了!!不需要#模式中的“#”,因为模式是值堆栈上的操作成员变量。