【问题标题】:Can't access javascript file in jsf component无法访问 jsf 组件中的 javascript 文件
【发布时间】:2011-12-17 16:25:20
【问题描述】:

我有一个必须访问 javascript 文件的 jsf 组件,我在下面的代码中添加了这个 outputScript,我在生成的 html 中遇到错误,并且无法访问 javascript。 javascript文件位于document_root/js目录

我该如何解决这个问题,谢谢您的帮助。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:composite="http://java.sun.com/jsf/composite"
      xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:head><title>(For validation only)</title>
<link href="./css/styles.css" 
      rel="stylesheet" type="text/css"/> 
</h:head>
<h:body>
<composite:interface/>
<composite:implementation>
<h:outputScript library="js" name="messages.js" />
<h:outputScript library="js" name="DateValidation.js" />

<h:form id="f">
    <h:outputText value="Date" />
    <h:inputText id="dateA" 
        onblur="return validateDateField('f:dateA');">
    </h:inputText>
</h:form>   

</composite:implementation>

</h:body>
</html>

【问题讨论】:

  • 在生成的 html 中我得到这一行:
  • 我不知道jsf试试name="./js/messages.js"

标签: javascript jsf jsf-2 composite-component


【解决方案1】:

这些文件必须放在/resources 子文件夹中。因此,您应该在公共网络内容中包含以下内容:

  • /resources/js/DateValidation.js
  • /resources/js/messages.js

与具体问题无关,您的复合组件方法非常尴尬。我建议查看 标签维基:https://stackoverflow.com/tags/composite-component/info

【讨论】:

  • 非常感谢您的回答,我现在可以访问 javascript 文件,但我收到一个 javascript 错误,因为我的 inputText 的 id 是在 j_idt6 前面添加的,所以我的 inputText 的 id 变成了 j_idt6:f: dateA 而不是 f:dateA。你有什么想法来解决这个问题。
  • 这是一个不同的问题,您本质上应该提出一个新问题。然而,它已经被问过好几次了,另见stackoverflow.com/questions/7132061/…stackoverflow.com/questions/7927716/…
猜你喜欢
  • 2011-09-28
  • 1970-01-01
  • 2017-10-10
  • 2013-09-15
  • 2021-08-06
  • 2018-08-02
  • 2013-12-06
  • 1970-01-01
  • 2012-05-21
相关资源
最近更新 更多