有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javajsp中的html引号转义

我正在使用谷歌翻译

发生以下情况。 我正在学习一个很久以前用Java开发的web项目。 现在我正在将项目迁移到新的技术和平台

问题是,当我为EclipseMoon(最新版本)进行迁移时,我使用ApacheTomcat8和JavaJRE1。当我转到一个JSP页面,其中是java代码ie对属性pasasdo的赋值时,我运行我的程序

例如:

<tr>
    <td>
        <html: text property = "<% =" value ("+ variable +" _ "+ variable +") "%>" />
    </td>
</tr>

当我运行程序时,我知道引号内的值必须转义,即我必须修改"并用\"替换"

例如:

<tr>
    <td>
        <html: text property = "<% = \" value ("+ Variable + \" _ \ "+ Variable + \") "%>" />
    </td>
</tr>

我可以在不必转义引号的情况下处理整个项目吗?我的意思是让它们保持原样,是否有任何方法可以避免或忽略这个问题,因为项目有390个JSP页面,输入每个页面并转义所有引号将非常繁琐

我希望您已经理解了我的意思,基本上在JSP中工作,如果您能够做到这一点,就不必转义引号


共 (1) 个答案

  1. # 1 楼答案

    在这种情况下,您不会转义引号,因为此处的引号不在Java String内,而是实际的Java代码

    你也可以

    (1)仅对HTML属性使用单引号:

    <html:text property='<%=" value (" + variable + " _ " + variable + ") "%>' />
    

    (顺便说一句,一定要去掉错误的空格。它的<%=不是<% =。还有其他空格问题。)

    (2)首先在变量中准备整个内容:

    <%
    String val = " value (" + variable + " _ " + variable + ") ";
    %>
    <html:text property="<%=val%>" />
    

    (3)停止使用划线笔,并使用JSTL/EL:

    <html:text property="value (${variable} _ ${variable})" />