【问题标题】:Why does this JSF expression not work?为什么这个 JSF 表达式不起作用?
【发布时间】:2010-05-13 16:08:03
【问题描述】:

我在 .xhtml 页面上有一个简单的问题。这个表达式不起作用:-

<a href="Photos.jsf?albumId=#{item.albumId}&blogId=#{PhotoAlbumsCommonBean.blogId}">
 photos
</a>

我收到此错误:-

Error Parsing /Common/PhotoAlbums.xhtml: Error Traced[line: 20] The reference to entity "blogId" must end with the ';' delimiter.

这会导致某种错误。

【问题讨论】:

  • 我犯了同样的错误,但对我在 javascript 中的 '&&' 逻辑运算符感到困惑。

标签: java jsf facelets


【解决方案1】:

尝试用 &amp;amp; 编码 & 符号 - &amp;

【讨论】:

  • 它不起作用:(。现在错误是:-对实体“ampblogId”的引用必须以“;”分隔符结尾。
  • 你把分号放在 &amp 后面了吗?
  • 用“&”替换它会起作用。 URL 应该是 Photos.jsf?albumId=#{item.albumId}&blogId=#{PhotoAlbumsCommonBean.blogId}
  • @Petar - 您可以在 Markdown 编辑器中使用反引号字符来转义代码
  • 使用 & (与符号字符的 xhtml 代码)是一个更安全的选择,我认为!
【解决方案2】:

错误是由#号引起的。

试试这个。它解决了 JSP EL 和在 XHTML 页面中编码 & 符号的问题:

<a href="Photos.jsf?albumId=${item.albumId}&amp;blogId=${PhotoAlbumsCommonBean.blogId}">
 photos
</a>

【讨论】:

  • @Nitesh 你是什么意思它消失了?查询字符串是否看起来像这样:“?albumId=&blogId=...”?
  • 嗨史蒂文,你的回答也是正确的。不知道哪一个投票正确并给分:p。但我认为,$ 并不适用于 JSF。它适用于 JSP,尽管它可以工作。
  • 我猜要使用的正确符号取决于您是否想要立即或延迟变量扩展。好点子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
相关资源
最近更新 更多