Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 JSP到Facelets等价于循环中数据库提供的URL链接_Jsf 2_Facelets - Fatal编程技术网

Jsf 2 JSP到Facelets等价于循环中数据库提供的URL链接

Jsf 2 JSP到Facelets等价于循环中数据库提供的URL链接,jsf-2,facelets,Jsf 2,Facelets,我正在将servlet/jsp Netbeans的aflableben教程移植到JSF框架,并希望在视图中使用Facelets 我已经有了JPA实体、会话bean和托管bean。我从风景开始。但是,我没有在Facelets中找到与此类似的产品: <a href="<c:url value='category?${category.id}'/>"> <a href="<c:url value='category?${category.id}'/>">

我正在将servlet/jsp Netbeans的aflableben教程移植到JSF框架,并希望在视图中使用Facelets

我已经有了JPA实体、会话bean和托管bean。我从风景开始。但是,我没有在Facelets中找到与此类似的产品:

<a href="<c:url value='category?${category.id}'/>">
<a href="<c:url value='category?${category.id}'/>">
警告消息:找不到资源img/categories/fruit+%26+veg.jpg

使用JSF隐式导航,需要一个真实(隐式)导航结果值。您需要在结果中指定视图ID。您需要通过
指定请求参数。您还需要像在初始示例中那样将跨距和图像嵌套在链接中。假设在根目录中有一个
category.xhtml
文件,则应该执行以下操作:

<h:link outcome="category">
    <f:param name="id" value="#{category.id}" />

    <span class="categoryLabel"></span>
    <span class="categoryLabelText">#{category.name}</span>
    <img src="./resources/img/categories/#{category.name}.jpg"
             alt="#{category.name}" class="categoryImage"/>
</h:link>

(请注意,我将
${}
替换为
#{}
,只是为了遵守标准并保持一致性)

您可以从此行更改:

<a href="<c:url value='category?${category.id}'/>">
<a href="<c:url value='category?${category.id}'/>">

为此:

<h:link outcome="category.xhtml?id=#{category.id}" />
<h:link outcome="category">
   <f:param name="id" value="#{category.id}" />
</h:link>
<h:outputLink value="category.xhtml?id=#{category.id}" ></h:outputLink>


感谢您的快速回复,这对我帮助很大。只是一个问题:Facelets的等价物是什么?(如果这没有关系,我会发布一个新的帖子,告诉我)啊,我忘了。如果已从数据库中提取图像的名称字符串,并且图像的字段值有一个和或空格,例如“fruit&veg”,则使用instead of会导致图像不被渲染。1)使用JSF组件的
rendered
属性。2) URL中不应包含无效字符。使用
urlcoder
String encoded=urlcoder.encode(原始,“UTF-8”)。在URL中使用这个
encoded
值。我导入了所需的库,编辑了category实体类,并在name getter方法中添加了一些代码。它没有显示图像。请参见上面初始线程中的编辑1。
<h:graphicImage name="img/categories/#{category.name}.jpg"
    alt="#{category.name}" class="categoryImage"/>
<a href="<c:url value='category?${category.id}'/>">
<h:link outcome="category.xhtml?id=#{category.id}" />
<h:link outcome="category">
   <f:param name="id" value="#{category.id}" />
</h:link>
<h:outputLink value="category.xhtml?id=#{category.id}" ></h:outputLink>