JSP:
<s:form action = "addfriend">
<s:property value="Username" />
<s:submit value="Add friend" />
</s:form>
此代码是否会将property
标记中的值提交给操作表单?
答案 0 :(得分:2)
不,property
标记不生成输入字段。仅代表property
标记,您可以找到here。它用于将值栈中的值打印到JSP输出。要将值提交给操作,表单需要具有生成HTML input
标记或textarea
标记的标记。这就是textfield
标记提供的内容。
<s:textfield name="Username" value="%{Username}"/>
注意,还有许多其他标记生成输入字段,您可以在HTML浏览器源窗口中看到生成的输出。
答案 1 :(得分:2)
如果您需要发送通过s:property
显示的值,只需向其添加s:hidden
字段:
<s:form action = "addfriend">
<s:hidden name = "Username" />
<s:property value = "Username" />
<s:submit value = "Add friend" />
</s:form>
请注意,如果代码没有name
属性,则不会将其发布到操作。
同时避免以大写字母开头的变量:username
将映射到setUsername
和getUsername
,但Username
可能会产生问题,而且不是标准。
答案 2 :(得分:1)
正如@Roman所指出的,这是代码:
你可以这样做:
<s:form action="addfriend">
<s:textfield name="Username"/>
<s:submit value="Add friend" />
</s:form>