我想在我的JSF页面中使用非中断空格.我知道,在纯HTML中,我可以使用 这个,这很好.但是,当我将它们 放在Facelets页面中时,它会出现如下错误:
错误解析/page.xhtml:错误跟踪[第42行]引用了实体"nbsp",但未声明.
这是怎么造成的,我该如何解决?
Facelets依赖XML命名空间来使用XHTML.HTML 4如何,据我所知,HTML 5不支持名称空间.HTML 5还有一些XHTML中没有的新元素.甚至HTML 4和XHTML在它们支持的元素和属性方面也存在一些差异.
问题是:是否可以使用Facelets呈现HTML 4/5文档?如果是这样,怎么样?
最小示例对话框:
<p:dialog header="Test Dialog"
widgetVar="testDialog">
<h:form>
<p:inputText value="#{mbean.someValue}"/>
<p:commandButton value="Save"
onsuccess="testDialog.hide()"
actionListener="#{mbean.saveMethod}"/>
</h:form>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
我想要做的是让mbean.saveMethod以某种方式阻止对话框关闭,如果有问题并且只通过growl输出消息.这是验证器无法帮助的情况,因为在将保存提交给后端服务器之前无法判断someValue是否有效.目前我使用visible属性执行此操作,并将其指向mbean中的布尔字段.这有效,但它使用户界面变慢,因为弹出或关闭对话框需要命中服务器.
我已经完成了关于Facelets模板的教程.
现在我尝试创建一个与模板不在同一目录中的页面.我有页面样式的问题,因为样式用相对路径引用,如下所示:
<link rel="stylesheet" href="style_resource_path.css" />
Run Code Online (Sandbox Code Playgroud)
我可以通过以下开头使用绝对引用/:
<link rel="stylesheet" href="/project_root_path/style_resource_path.css" />
Run Code Online (Sandbox Code Playgroud)
但是,当我将应用程序移动到不同的环境时,这将给我带来麻烦.
所以我想知道在Facelets中引用CSS(以及JS和图像)资源的最佳方法是什么?
作为这个问题的扩展,我试图将Javascript插入到已经呈现ajax表<h:commandButton />的onclick属性action中.
我想做什么:在列表框中获取所选项目并将其转换为要在JSF中使用的参数FileServlet.即para2=value1¶m=value2¶m=value3
这就是我所拥有的:
<script type ="text/javascript">
function myScript() {
var box = document.getElementbyId('myForm:box');
var length = box.options.length;
var paramstring = "";
for (var i = 0; i < length; i++) {
if (i != (length - 1) {
if (box.options[i].selected) {
paramstring = paramstring + "param=" + box.options[i].value + "&";
}
} else {
paramstring = paramstring + "param=" + box.options[i].value;
}
}
if (document.getElementById('myForm:checkbox').checked) {
window.location='fileServlet? + …Run Code Online (Sandbox Code Playgroud) 如何插入特殊字符,如&和<成JSF组件value的属性?
例如:我想要这样的东西:
<h:outputText value="Tom & Jerry Show" />
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我得到以下异常:
javax.faces.view.facelets.FaceletException:Error Parsing /foo.xhtml:Error Traced [line:15]实体名称必须紧跟在实体引用中的'&'之后.
如果是<,我得到以下异常:
javax.faces.view.facelets.FaceletException:Error Parsing /foo.xhtml:Error Traced [line:15]与元素类型"h:outputText"关联的属性"value"的值不能包含"<"字符.
大师,
我是自学成才的.有很多你开明的人称之为基本的,我一无所知.
阅读这个 jQuery教程,我注意到了这个标签(缺少更好的单词):"CDATA"如此处所示(从顶部开始的第三行):
<script src="http://jquery.com/src/jquery-latest.js"></script>
<script>
//<![CDATA[
$(document).ready(function(){
$(".article .thebody").hide();
$("#container .article ul")
.prepend("<li class='readbody'><a href='' title='Read the article'>Read Body</a></li>");
$(".actions li.readbody a").click(function(event){
$(this).parents("ul").prev(".thebody").toggle();
event.preventDefault();
});
});
//]]></script>
Run Code Online (Sandbox Code Playgroud)
CDATA是什么意思?有没有类似CDATA的标签?
我正在尝试使用以下代码获取谷歌地图图像:
<img src="http://maps.googleapis.com/maps/api/staticmap?center=#{profile.latitude},#{profile.longitude}&zoom=14&size=400x400&sensor=false"/>
Run Code Online (Sandbox Code Playgroud)
但我在浏览器中遇到异常,其中说:
错误解析/content/profile.xhtml:
跟踪错误[line:48]对实体"zoom"的引用必须以';'结尾 分隔符.
如何避免将&URL 解释为XML?
jsf ×7
facelets ×6
jsf-2 ×4
xhtml ×3
ajax ×1
ampersand ×1
cdata ×1
dialog ×1
entity ×1
html5 ×1
javascript ×1
jquery ×1
primefaces ×1
resources ×1
templating ×1
validation ×1
xml ×1