在查询href中的标记<a href="....."></a> DOUBLE_WHITESPCE中

时间:2012-05-06 06:59:19

标签: java jsp href netbeans-7 servlets

我有一个非常奇怪的问题。

    <table border ="1">
                        <tbody>
                            <c:forEach var="question" items="${questions}">                                
                                <tr>
                                    <td>
                                        ${question.getQuestion()}                                     
                                    </td>
                                    <td> 
                                        <c:forEach var="answer" items="${question.getAnswers()}">                                                      
                                            <input type="checkbox" name ="user_answer" value="${answer.getAnswer()}">
                                            ${answer.getAnswer()}
                                            <br />
                                        </c:forEach>                                   
                                    </td>
                                    <td>
                                    <a href="/TutorWebApp/controller?command=edit_qestion&amp;question=${question}">
                                           Edit 
                                    </a>
                                    </td>
                                </tr>
                            </c:forEach>                  
                        </tbody>
</table>

但如果我使用,我会得到下一个错误 error_image

但如果我不在<a>中使用标记<td>,那就没关系。我没有任何想法。 感谢

3 个答案:

答案 0 :(得分:1)

我认为这只是编辑器的错误/限制。尝试部署JSP,看看它是否按预期工作。

也就是说,如果您的问题包含必须为网址和/或HTML转义的字符,那么您的HTML代码将无效。您应该使用c:url标记来避免这种情况:

<c:url var="editQuestionUrl" value="/TutorWebApp/controller">
    <c:param name="command" value="edit_question"/>
    <c:param name="question" value="${question}"/>
</c:url>
<%-- now the params are url-encoded --%>
<a href="${fn:escapeXml(editQuestionUrl)}">Edit</a>
<%-- now the query string is HTML-escaped --%>

答案 1 :(得分:0)

尝试替换此行

<a href="/TutorWebApp/controller?command=edit_qestion&amp;question=${question}">

<a href="/TutorWebApp/controller?command=edit_qestion&amp;question='${question}'">

答案 2 :(得分:0)

您需要通过调用URLEncoder#encode()

对此问题文本(或整个网址)进行编码

您可以查看this Q&A如何在JSTL中对URL进行编码。

或者,您可以尝试在问题文本上调用JSTL's escapeXml功能。