代码之家  ›  专栏  ›  技术社区  ›  pakore

用FacesServlet解析Javascript中的EL变量

  •  3
  • pakore  · 技术社区  · 14 年前

    我将所有Javascript代码和应用程序外部化到一个文件中,为了解析代码中的所有EL变量,我尝试使用BalusC解决方案2作为答案 this SO question

    我正在尝试使用facesservlet来处理JS文件。问题来了,当我这样设置时,JS文件找不到,我也猜不出问题出在哪里。这是我的web.xml

    <mime-mapping>
    <extension>js</extension>
    <mime-type>application/x-javascript</mime-type>
    </mime-mapping>
     <servlet>
      <servlet-name>Faces Servlet</servlet-name>
      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.xhtml</url-pattern>
     </servlet-mapping>
      <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>/js/myapp-functions.js</url-pattern>
     </servlet-mapping>
    

    http://localhost:8080/myappname/js/myapp-functions.js 我得到一个404错误。文件在那里(仔细检查)。如果我删除JS文件的映射,我可以正常地获得该文件(但是如上所述,EL变量没有解析)。

    1 回复  |  直到 7 年前
        1
  •  1
  •   BalusC    14 年前

    这个 javax.faces.DEFAULT_SUFFIX 默认为 *.xhtml . 请注意,您需要将整个页面包装在 <script></script> 否则Facelets的SAX解析器会抱怨文档格式不正确。