大家好!
    初学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.   

    你嵌套它干嘛呢?直接action="/login" 就搞定啦
      

  2.   

    <html:form action=" <html:rewrite action="/login"/>" method="post" > 这样嵌套有什么用?<html:form action="/login" method="post" > 效果一样.
      

  3.   

    现在的问题是:
    为什么第一次登入JSP页面会出错呢?刷新后有正常了?在这里使用<html:write> 虽然是多余,但是也没错误吧。
      

  4.   

    直接使用action="/login" 是OK的,但是还是不明白
    嵌套<html:write> 在action属性值中,为什么会出现这种问题?