【问题标题】:Is there a way to get syntax highlighting in Eclipse inside JSF <h:outputScript> tags?有没有办法在 JSF <h:outputScript> 标签内的 Eclipse 中获得语法高亮显示?
【发布时间】:2016-02-11 02:55:11
【问题描述】:

好吧,标题说明了一切,我想在 &lt;h:outputScript&gt; 标签内突出显示语法,例如:

  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <ui:composition xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:c="http://java.sun.com/jsp/jstl/core"
      xmlns:t="http://myfaces.apache.org/tomahawk">

      <h:panelGroup id="foo">
          blah
      </h:panelGroup>

      <h:outputScript>

        //please highlighting here
        var iousGoogleSearchesLaterIfearThereIsNoSuch = function(but, I, do, want, so) {
           if(youKnow(something)) {
             please(but);
           }
           for (I, do, so, want ;'';);
           return "the favor" && share;
        };

      </h:outputScript>

  </ui:composition>

有任何提示/工具或想法吗?谢谢

【问题讨论】:

  • 把JS代码放在一个JS文件里更高效更好的做法。
  • @BalusC 绝对同意,这就是我喜欢 99% 的情况,但有时不是一个选择
  • 如果只是EL评估,这可能会有所帮助:stackoverflow.com/q/34156641至于具体问题,如果你只是使用&lt;script&gt;呢? &lt;h:outputScript&gt; 的额外好处并没有完全用在这个特定的结构中。
  • @BalusC 哇,&lt;script&gt; 有效!谢谢,好的提示,不过,&lt;h:outputScript&gt; 中的内联 JS 的实际好处是什么?

标签: eclipse jsf


【解决方案1】:

鉴于您并没有真正利用 &lt;h:outputScript&gt; 组件(尤其是通过 target="head|body" 属性重定位并能够通过组件树抓取和操作它),只需使用纯 HTML &lt;script&gt; 代替。

<script type="text/javascript">
    ...
</script>

如果你切换到HTML5 doctype会更好,那么你也不需要指定type属性。

<!DOCTYPE html>
...
<script>
    ...
</script>

尽管如此,将 JS 代码放在自己的 JS 文件中效率更高(浏览器有机会缓存​​它,因此整体性能更好),并且被认为是关注点分离的最佳实践。

另见:

【讨论】:

猜你喜欢
  • 2021-01-24
  • 1970-01-01
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-02
相关资源
最近更新 更多