Java 如何在表单`action`标记中使用Jstl``标记

Java 如何在表单`action`标记中使用Jstl``标记,java,jsp,spring-mvc,jstl,Java,Jsp,Spring Mvc,Jstl,我想使用JSTL fmt标记插入表单操作,如下所示 <form:form name="signupForm" modelAttribute="signupForm" action='${pageContext.request.contextPath}/<fmt:message key="signuppage.form.signupForm.action.signup"></fmt:message>' method="POST"> 但它

我想使用JSTL fmt标记插入表单操作,如下所示

    <form:form name="signupForm" modelAttribute="signupForm"
    action='${pageContext.request.contextPath}/<fmt:message key="signuppage.form.signupForm.action.signup"></fmt:message>'
    method="POST">
但它没有得到正确的解决。查看页面来源,如下所示:

<form id="signupForm" name="signupForm" action="/SpringWebTesting/&lt;fmt:message key=&quot;signuppage.form.signupForm.action.signup&quot;&gt;&lt;/fmt:message&gt;" method="POST">

如何正确使用它?

为什么要将行动国际化?你想在这里实现什么?答案是使用var属性将消息存储在变量中,然后在action属性中使用该变量,但这似乎是您不应该做的事情。@JBNizet我想从属性文件中设置action的值。所以在将来,我可以在不接触代码的情况下更改它。您认为这是一种不好的做法吗?而且,它的值是否应该在表单中硬编码?fmt标记不用于从属性文件获取数据。它们用于国际化。i18n消息键存储在属性文件中这一事实不应使您将i18n标记用于与i18n无关的内容。是的,我认为这是一个坏习惯。如果操作发生更改,那么Spring控制器代码也会更改,因此您必须更改代码并重新部署。而且包是代码的一部分,只是不是Java/JSP代码,而是代码。这只会使代码更难阅读,不会提供任何显著的优势。@JBNizet谢谢,非常有用。你能看看我的另一个问题吗?这个问题还没有答案?。它与SpringMVC测试框架相关。