我正在开发一个使用带有 @ResourceDependency 注释的 Jquery 的 UIComponent,但在运行时控制台中显示此“未捕获的 ReferenceError:$ 未定义”;
Java代码:
@FacesComponent(value = "components.InputInditec", createTag = true,
tagName = "InputInditec")
@ResourceDependencies({
@ResourceDependency(library = "jquery", name = "jquery-203.js", target
= "head")})
public class UiInputInditec extends UIComponentBase {
@Override
public String getFamily() {
return "my.custom.component";
}
@Override
public void encodeBegin(FacesContext context) throws IOException {
String value = (String) getAttributes().get("value");
String clientId = getClientId(context);
ResponseWriter writer = context.getResponseWriter();
writer.startElement("input", this);
writer.writeAttribute("id", clientId + "edit", "id");
if (value != null) {
writer.writeAttribute("value", value.toUpperCase(), "value");
}
writer.endElement("input");
writer.startElement("script", this);
writer.writeAttribute("type", "text/javascript", null);
writer.write("$(\"#" + clientId + "edit" + "\").keypress(function() { "
+ "console.log( 'Handler for .keypress() called.' ); });");
writer.endElement("script");
}
}
有人知道发生了什么吗?