1

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

    <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>

但是如果我使用 in 我会得到下一个错误 错误图像

但是如果我不使用标签<a><td>可以了。我没有任何想法。谢谢

4

3 回答 3

1

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

也就是说,如果您的问题包含必须是 URL 和/或 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 --%>
于 2012-05-06T07:17:00.427 回答
0

尝试替换此行

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

<a href="/TutorWebApp/controller?command=edit_qestion&amp;question='${question}'">
于 2012-05-06T07:09:28.687 回答
0

您需要通过调用URLEncoder#encode() 在此处编码您的问题文本(或整个 URL)

您可以查看有关如何在 JSTL 中对 URL 进行编码的问答。

或者,您可以尝试在问题文本上调用JSTL 的 escapeXml函数。

于 2012-05-06T07:17:25.687 回答