将属性标记中的值提交给操作表单

时间:2013-12-09 20:28:47

标签: forms jsp properties struts2 submit

JSP:

<s:form action = "addfriend">
  <s:property value="Username" />
  <s:submit value="Add friend" />
</s:form>

此代码是否会将property标记中的值提交给操作表单?

3 个答案:

答案 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将映射到setUsernamegetUsername,但Username可能会产生问题,而且不是标准。

答案 2 :(得分:1)

正如@Roman所指出的,这是代码:

你可以这样做:

<s:form action="addfriend">
      <s:textfield name="Username"/>
      <s:submit value="Add friend" />
</s:form>