如何在JSP中对嵌入式java进行双引号转义?

如何在JSP中对嵌入式java进行双引号转义?,jsp,jakarta-ee,Jsp,Jakarta Ee,我正在尝试制作一个功能,当用户没有权限时,可以使我的图像按钮消失 <input type="image" src="<%=request.getContextPath()%>/img/pencil.png" onClick="document.sentToBack.submit()" /> 上面一段是我试图使其有条件显示的原始代码 <% if(DisplayBtn == true) { out.println("<input

我正在尝试制作一个功能,当用户没有权限时,可以使我的图像按钮消失

<input type="image"
src="<%=request.getContextPath()%>/img/pencil.png"
onClick="document.sentToBack.submit()" /> 

上面一段是我试图使其有条件显示的原始代码

<% 
    if(DisplayBtn == true) { 
        out.println("<input type=\"image\""
        + " src=\"/img/pencil.png\""
        + " onClick=\"document.sentToBack.submit()\" />");
    }
%>

这是可行的,但不会正确显示我的图像,因为路径不正确。如果我把我的嵌入式java放回到上面的代码中,它会告诉我,我没有正确地双引号引用那个字符串


有人能告诉我如何摆脱嵌入式java并使其正常工作吗?

尝试如下更改:

<% 
    if(DisplayBtn == true) { 
%>
        <input type="image" src="/img/pencil.png" onClick="document.sentToBack.submit()" />
<% 
    }
%>

只需将双引号替换为单引号即可

<% 
    if(DisplayBtn == true) { 
        out.println("<input type='image'"
        + " src='img/pencil.png'"
        + " onClick='document.sentToBack.submit()' />");
    }
%>

nope,如果我将嵌入的Java重新添加到它中,这个就不起作用了。