我有一个这样的表单,在.jsp页面中(使用Struts + Tiles):
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html:xhtml/>
<div id="content">
<html:form action="action_newPost" method="post">
<table>
<tr>
<td>Titulo (150 Caracteres Máximo)</td>
</tr>
<tr>
<td><html:text property="titulo" size="45"/><br/>
<html:errors property="tituloError"/></td>
</tr>
<tr>
<td>Post (1000 Caracteres Máximo)</td>
</tr>
<tr>
<td><html:textarea property="contenido" cols="80" rows="7"/><br/>
<html:errors property="cuerpoError"/></td>
</tr>
</table>
<input type="submit" value="Publicar"/>
</html:form>
</div>
问题是表单没有显示,除非我将操作更改为另一个(称为action_EnviarMsg)。为什么会发生这种情况?如果你需要剩下的代码(struts-config,tiles-defs或者什么)告诉我把它放在这里...
谢谢!
答案 0 :(得分:2)
我认为你所说的行动前进可能存在问题,你应该确保行动的前进指向你的行动定义,就像这样。
的struts-config.xml
<action path="/somepath" type="yourpackage.YourAction"><br/>
<forward name="YourForward" path="tiledefinition" /><br/>
</action>
瓦片-def.xml
<definition name="tiledefinition" ><br/>
<put name="body" value="/jsp/your-form.jsp" /><br/>
</definition>
希望这有帮助