jsp - Sublime Text 缩进问题

标签 jsp jstl indentation sublimetext sublimetext3

组合html和jsp标记时遇到了缩进问题。

重现步骤:

  • 文件>新建文件(Ctrl + N)
  • View >语法> Java> Java服务器页面(JSP)
  • 粘贴以下代码:

  • <ul>
       <c:if test="${a > 0}">
          <li>a</li>
       </c:if>
    </ul>
    

  • 选择所有内容(Ctrl + A)并运行Ctrl + Shift + P>缩进:重新缩进行
  • 结果是:

  • <ul>
       <c:if test="${a > 0}">
          <li>a</li>
    </c:if>
    </ul>
    


    已测试在Windows 7 x64下运行Build 3047。

    有什么线索吗?

    最佳答案

    对于ST2:

    打开html包,然后编辑Packages/HTML/Miscellaneous.tmPreferences文件。

    将文本替换为下面的文本。下面的正则表达式接受<c:if>格式和JSP注释的基本jsp标记。这不会格式化片段。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>name</key>
        <string>Miscellaneous</string>
        <key>scope</key>
        <string>text.html</string>
        <key>settings</key>
        <dict>
            <key>decreaseIndentPattern</key>
            <string>(?x)
            ^\s*
            (&lt;/(?!html)
              ([A-Za-z0-9]+(:[A-Za-z0-9]+)?)\b[^&gt;]*&gt;
            |--&gt;
            |--%&gt;
            |&lt;\?(php)?\s+(else(if)?|end(if|for(each)?|while))
            |\}
            )</string>
            <key>increaseIndentPattern</key>
            <string>(?x)
            ^\s*
            &lt;(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^&gt;]*/&gt;)
              ([A-Za-z0-9]+(:[A-Za-z0-9]+)?)(?=\s|&gt;)\b[^&gt;]*&gt;(?!.*&lt;/\1&gt;)
            |&lt;!--(?!.*--&gt;)
            |&lt;%--(?!.*--%&gt;)
            |&lt;\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1)
            |\{[^}"']*$
            </string>
            <key>bracketIndentNextLinePattern</key>
            <string>&lt;!DOCTYPE(?!.*&gt;)</string>
        </dict>
    </dict>
    </plist>
    

    重新启动Sublime Text

    关于jsp - Sublime Text 缩进问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691001/

    相关文章:

    java - JSP访问列表中对象的方法

    JavaScript 和 JSP

    javascript - 当有大量数据需要提交时,form.submit()需要更多时间

    java - 如何在 JSTL 中使用 session ?

    java - JSP bean 是否可以进行依赖注入(inject)?

    java - 如何在 JSTL 中将一个字符串与另一个字符串分开

    jsf - 是否可以使用 <c :if> inside <a4j:repeat>

    intellij-idea - 如何在 IntelliJ IDEA 中使用制表符进行缩进?

    vim - 将文本粘贴到 vim 时关闭自动缩进

    c - 编写代码以缩进代码