<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%><tr>
<td height="25" align="center">入职时间</td>
td>&nbsp;
<%=employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate()%>
<html:hidden property="takeOfficeDate" value="<%=employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate()%>"/>
</td>
<td align="center">应转正时间</td>
<td>&nbsp;<%=employeeInfoForm.getOughtOfficialDate()==null?"":employeeInfoForm.getOughtOfficialDate()%>
<html:hidden property="oughtOfficialDate" value="<%=employeeInfoForm.getOughtOfficialDate()==null?"":employeeInfoForm.getOughtOfficialDate()%>"/>
</td>
<td align="center">实际转正时间</td>
<td>&nbsp;<%=employeeInfoForm.getOfficialDate()==null?"":employeeInfoForm.getOfficialDate()%>
<html:hidden property="officialDate" value="<%=employeeInfoForm.getOfficialDate()==null?"":employeeInfoForm.getOfficialDate()%>"/></td>
</tr>红色的地方报错:
Attribute value employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate() is quoted with " which must be escaped when used within the value改成:
<html:hidden property="takeOfficeDate" value="<%=employeeInfoForm.getTakeOfficeDate()%>"/>
则可以显示请问是什么原因

解决方案 »

  1.   

    html标签里不能嵌套<%=%>,改成${employeeInfoForm.OughtOfficialDate}就可以了
      

  2.   

    ...都用struts了还用<%%>  晕..
               改用EL表达式吧<%%> 维护起来太麻烦了.
      

  3.   

    <html:hidden property="takeOfficeDate" value='<%=employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate()%>'/>
      

  4.   

    <html:hidden property="takeOfficeDate" value="<%=employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate()%>"/>
    红色部分的是JAVA中的""和Struts标签外的Value的""冲突了,
    Struts把:
    value="<%=employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate()%>"/>
    解释成了:
    1.value="<%=employeeInfoForm.getTakeOfficeDate()==null?"
    2.":employeeInfoForm.getTakeOfficeDate()%>"/>解决方法,将html:hidden直接替换为Html自带的hidden,后台程序不用做任何更改。
    <input type="hidden" name="takeOfficeDate" value='<%=employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate()%>'>希望对你有所帮助,记得给分!
      

  5.   

    <%='变量名'%>
    这个是获取值的。
    <%=''==''%>
    这个标签不存在。不能这么使用
    要做比较只能再<%%>中比较先取出你的值再在这个标签下去比较把
      

  6.   

    <% obj=employeeInfoForm.getOughtOfficialDate() %>
    <html:hidden property="oughtOfficialDate" 
    value="<% obj==null?...:employeeInfoForm.getOughtOfficialDate()%>"/>
    你试试这么写。先取出值,再去比较
      

  7.   

    额,楼主你看看是不是应为那个“”的问题啊?这样用引号分辨不出来了把
    <html:hidden property="oughtOfficialDate" value="<%=employeeInfoForm.getOughtOfficialDate()==null?"":employeeInfoForm.getOughtOfficialDate()%>"/>
      

  8.   

    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /userManagement/employeeInfo.jsp(356,51) Attribute value employeeInfoForm.getTakeOfficeDate()==null?"":employeeInfoForm.getTakeOfficeDate() is quoted with " which must be escaped when used within the value
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198)
    org.apache.jasper.compiler.Parser.parseQuoted(Parser.java:299)
    org.apache.jasper.compiler.Parser.parseAttributeValue(Parser.java:249)
    org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:211)
    org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:154)
    org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1250)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1462)
    org.apache.jasper.compiler.Parser.parseBody(Parser.java:1670)
      

  9.   

    <html:hidden property="takeOfficeDate" value="<%=employeeInfoForm.getTakeOfficeDate()==null?' ':employeeInfoForm.getTakeOfficeDate()%>"/>
      

  10.   

    感谢各位的关注。以前放在tomcat5中运行的,现在是tomcat6.我刚换成tomcat5,正常了,真是奇怪。请大家再帮帮忙,怎么样才能在tomcat6中运行
      

  11.   

    tomcat5 和 6  也没什么大的区别吧??就是目录 和多了几个配置文件啊。
      

  12.   

    我是看到http://www.javaeye.com/problems/20448
    这个才换来试一下的。想不出来有什么区别
      

  13.   

    至于tomcat6对JSP转换成Servlet时,检查语法的要求比tomcat5要严格,这是改不了的。我在6楼已经说的很清楚了,换成HTML自带的标签肯定没有问题。
    当然如果依然使用Struts标签,将Value=""改成Value='',在tomcat6的版本是可以的,但万一tomcat升级到的tomcat7、8就不一定支持,所以还是建议换成HTML的hidden。
      

  14.   

    主要是在tomcat5.27以上設置中增強了quote的解釋設置,
    這個設定org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING默認值為true,
    在$TOMCAT_HOME/conf/catalina.properties增加設置
    org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false就可以了。
    原文:
    http://blogs.sourceallies.com/2009/10/strict-quote-escaping-in-tomcat/