大家好!
    初学struts ,最近在使用<html:form>的过程中,遇到一个问题很困惑。
strut的简单流程是: 用户访问login.jsp ,在该JSP页面的html form 中跳转到指定的Action login.jsp的代码如下:
<body>
    <html:form action="<html:rewrite action="/login"/>" method="post" >
      <table border="0">
        <tr>
          <td>usrname:</td>
          <td><html:text property="usrname" /></td>
        </tr>
        <tr>
          <td>Password:</td>
          <td><html:password property="pswd" /></td>
        </tr>
        <tr>
          <td colspan="2" align="center"><html:submit /></td>
        </tr>
      </table>
    </html:form>现在的问题在于:在<html:form> 标签的Action属性值 嵌套了<html:write action="/login"> (login为制定的Action) 第一次访问login.jsp,提示错误如下:
/login.jsp(26,45) Unterminated &lt;html:form tag但是,刷新浏览器后,该JSP页面又能正常显示。通过查看页面源代码,Action的属性值已经正常解析
action="/struts/login.done;jsessionid=016930D706402CDAE6CB3332449910BC请问大家:为什么第一次访问页面会出错呢?

解决方案 »

  1.   

    struts的标签中是不能嵌套标签的<html:form action=" <html:rewrite action="/login"/>" method="post" > 
    这样写是不对的,换成别的写发,如action中写具体的连接.
      

  2.   

        <html:form action=" <html:rewrite action="/login"/>" method="post" > 
      这行看不懂? 以前从来就没有用过
      

  3.   

      <html:form action=" <html:rewrite action="/login"/>" method="post" > 
       你怎么不这样写呢?
      <html:form action="login.do"method="post" > 或  <html:form action=" login.action"method="post" >