例如,如果你有这样一个标签:  <html:form action="/login" > 
 
那么你的Struts配置文件的元素中必须有一个如下显示为粗体的元素:     <action-mappings>
     <action path="/login"
      type="com.javapro.struts.LoginAction" 
      name="loginForm"
      scope="request"
      input="/login.jsp">
      <forward name="success" path="/mainMenu.jsp"/>
    </action>
    .
    .
    .
  </action-mappings>
  
 
这就是说一个form标签是和form bean相关联的。另一个要遵循的规则是:任何包含在<form>中用来接收用户输入的标签(<text>、<password>、<hidden>、<textarea>、<radio>、<checkbox>、<select>)必须在相关的form bean中有一个指定的属性值。比如,如果你有一个属性值被指定为“username”的<text>标签,那么相关的form bean中也必须有一个名为“username”的属性。输入<text>标签中的值会被用于生成form bean的userName属性。除了上面所讲的属性之外,<form>标签还有一些不是必须但加上更好的“次要”的属性。比如,你可以用focus属性来生成JavaScript,它会“定焦”(focus)到该form所包含的一个元素上。使用focus属性时你需要给它指定元素的名称。比如,以下代码是定焦在第二个Text元素上的: <body>
<html:form action="/login" focus="password">
User Name: <html:text property="userName"/>
<br>Password: <html:text property="password"/>
<br><html:submit/>
</html:form>
</body> 
该段代码会被转换成: <body>
<form name="loginForm" method="post"
   action="/myStrutsApp6/login.do">
User Name: <input type="text" name="userName"
   value="">
<br>Password: <input type="text"
   name="password" value="">
<br><input type="submit"
   value="Submit">
</form>
<script language="JavaScript"
   type="text/javascript">
  <!--
 if (document.forms["loginForm"].elements[
      "password"].type != "hidden")
    document.forms["loginForm"].elements[
      "password"].focus()
  // -->
</script></body> 
注意,<form>标签中method属性的缺省值是POST。另外,有没有看到这个标签库是如何建立JavaScript来定焦到password元素上的? 这也是该库让人着迷的地方之一。你不用担心如何在客户端进行编程,它会帮你自动生成。在运行前面的例子时还要注意,你必须有一个包含userName和password属性的相关form。 

解决方案 »

  1.   

    好像用<html:form>标签就可以不用写name了,通过struts-config.xml文件struts会自动识别。
      

  2.   

    楼上说的很详细的 
    反正你的struts-config.xml 里的<form-bean>里的Type属性的值应该就是你的那个form类的名字,如LoginForm.java 而这个类里至少应该有两个属性 name password和他们的get() set() 方法
      

  3.   

    今天一上线,发现我变成两个三角啦,高兴ing
      

  4.   

    如果不知道form的名字,,就运行一下,,查看一下源文件,就知道 了,我用 nested标签,里面的名字更麻烦,,!我就是用这种办法!查看源文件
      

  5.   

    <html:form>标签中如果指定了name属性就必须指定type属性 
    好象是这样吧
      

  6.   

    你的form可以没有name ,js里用form[0],就OK了
      

  7.   

    注意html:form中action和 <action path的对应关系。
      

  8.   

    不用指定form名字,<form-bean name="ArmJvraForm" type="*****.ArmJvraForm"/>
    ArmJvraForm就是名字,直接在js里面ArmJvraForm.属性名.value即可访问该form里面的属性值,等于ArmJvraForm已经是你页面的form了,用它就可以访问页面所有form标签里面的东西