- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我按以下方式使用 JSF 模板:
TemplateHeader.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>TODO supply a title</title>
<meta name="viewport" content="width=device-width"/>
</h:head>
<h:body>
<ui:composition>
<div></div>
</ui:composition>
</h:body>
</html>
模板菜单.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>TODO supply a title</title>
<meta name="viewport" content="width=device-width"/>
</h:head>
<h:body>
<ui:composition>
<div></div>
</ui:composition>
</h:body>
</html>
模板内容.xhtml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>TODO supply a title</title>
<meta name="viewport" content="width=device-width"/>
</h:head>
<h:body>
<ui:composition>
<div></div>
</ui:composition>
</h:body>
</html>
TemplateFooter.xhtml
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title>TODO supply a title</title>
<meta name="viewport" content="width=device-width"/>
</h:head>
<h:body>
<ui:composition>
<div></div>
</ui:composition>
</h:body>
</html>
然后我将所有这些都包含在一个完整的模板文件中:
完整模板.xhtml
<html> // with all the necessary tags as above
<h:head>
<title>State Transport Department- Work Schedule</title>
<meta name="viewport" content="width=device-width"/>
<link rel="stylesheet" type="text/css" href="../CSS/templateCSS.css"/>
</h:head>
<h:body style="with the reqd styles">
<div style="css styles">
<div style="">
<ui:insert name="header">
<ui:include src="/webpages/templates/TemplateHeader.xhtml"/>
</ui:insert>
</div>
<div>
<ui:insert name="menu">
<ui:include src="/webpages/templates/TemplateMenu.xhtml"/>
</ui:insert>
</div>
<div>
<ui:insert name="content">
<ui:include src="/webpages/templates/TemplateContent.xhtml"/>
</ui:insert>
</div>
<div>
<ui:insert name="footer">
<ui:include src="/webpages/templates/TemplateFooter.xhtml"/>
</ui:insert>
</div>
</div>
</h:body>
</html>
然后我将此页面包含到我的主页中,例如:
测试.xhtml
<html>
<h:body>
<h:form>
<ui:composition template="/webpages/templates/CompleteTemplate.xhtml">
<ui:define name="menu">
//override the previos wid menues etc
</ui:define>
<ui:define name="content">
<h:commandLink id="allocateButton" value="Test Submit"
action="#{myTaskBean.viewMyTask}"/>
<h:commandButton id="allocateButton" value="Test Submit"
action="#{empDutySchedBean.testMethod}"/>
</ui:define>
</ui:composition>
</h:form>
</h:body>
</html>
所有命令链接和命令按钮都不起作用。用于菜单的普通 html anchor 有效。
对于 CommandLink,我收到的错误为:
This link is disabled as it is not nested within a JSF form.
对于 CommandButton:源代码中的按钮名称不会呈现给内置 jsf,例如 j_something,并且不会调用 java 方法。
有人说这是我做模板的方式有问题。不过我觉得还好。
最佳答案
您的模板制作方式错误,不需要设置 <h:body>
和<h:head>
在您的所有页面中。
您的完整结构应类似于:
mainTemplate.xhtml
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<f:view>
<h:head>
<ui:insert name="header">
<!-- so that each implementing page can set its own title -->
<title></title>
</ui:insert>
</h:head>
<h:body>
<!-- if your menu is shared through all site, otherwise set it as ui:insert -->
<ui:include src="menu.xhtml" />
<ui:insert name="body"></ui:insert>
<ui:insert name="footer"></ui:insert>
</h:body>
</f:view>
现在您的表单页面将是:
test.xhtml
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
template="mainTemplate.xhtml">
<ui:define name="header">
<title>Test Page</title>
</ui:define>
<ui:define name="body">
<h:form id="myForm">
<!-- your jsf inputs, commandbutton, etc... -->
</h:form>
</ui:define>
<ui:define name="footer">
<!-- include can come anywhere inside ui:define -->
<ui:include src="testPageCustomFooter.xhtml" />
</ui:define>
</ui:composition>
您当然可以有多个模板,但是您的<ui:composition>
可以通过 template
一次实现一个属性。实现模板并不强制您ui:define
所有ui:insert
,这取决于您在每个特定页面中的需要。另请注意test.xhtml
你不要重写<html>
, <h:head>
或<h:body>
,您可以直接在 <ui:composition>
内开始实现,以及 <ui:define>
之外的任何内容不会在您的页面中呈现。希望这能澄清事情。
关于java - 在我的 xhtml 中使用模板 (jsf) 后,commandLink 和 CommandButton 标记不会调用任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22982635/
当我使用 PrimeFaces 时 p:commandButton 我没有看到输入的验证消息(默认的 h: 或 PrimeFaces p: 的。)例如 当我使用默认命令按钮时 我确实看到了验证。
当鼠标指针悬停在另一个命令按钮上时,我需要显示一个 primefaces 命令按钮,但只有在非常必要时我才能使用 div。如果可能的话,使用 onmuseover 事件会更好,例如: 最佳答案 如
要求是在单击按钮时打开一个新窗口/选项卡。新窗口应重定向到新 URL 或新页面。我尝试过以下代码: 但这会再次打开当前页面。如何设置在新窗口/选项卡中打开新页面或网址? 最佳答案 试试这个: XHT
出于与此问题无关的原因,我已在我的应用程序中将 h:commandButton 完全替换为 a4j:commandLink。从那时起,我在 IE8 中看到了一些奇怪的副作用,例如失去焦点的选择菜单和无
style to
有谁知道如何将相同的样式从命令按钮放到所有命令链接? 我希望所有链接都这样显示(覆盖链接样式并使用按钮样式): 普通按钮: 悬停按钮: 按下的按钮: 我目前的 primefaces 主题是 开始 最佳
我想在 backingbean 中执行一个函数,在存在验证错误的表单中使用命令按钮。 使用代码示例,我想调用函数“resiCon.cancel()”,而不管表单上是否存在验证错误。 你能帮帮我吗?
我的问题是。我有一个primefaces 对话框(模态窗口)。它里面有一个命令按钮。当我打开对话框并单击命令按钮时,对话框外部和后面的输入也会被验证。我只想处理对话框内的输入。 重要的是,我将对话框添
我使用 Primefaces 轮播组件来显示项目列表。我想做的是在每个轮播项目上显示一个命令按钮,它会触发 bean 上的方法来确认或拒绝条目。 现在它只适用于轮播的第一个条目。单击另一个条目不会调用
我正在使用来自JSF的命令按钮。我不知道为什么我不能调用我的javascript函数。当我单击按钮时,不会显示任何警报。 我的Javascript函数: function checkPassword
我想制作一个导航到不同 URL 的按钮,并在 URL 中传递一些请求参数。 outputLink 有效,但我想要一个按钮,commandButton 看起来不错但我可以传递参数。 有解决办法吗? 最佳
我遇到了 commandButton 的问题,它仅在提交类型时才起作用。有人可以看看并告诉我是否有解决方案吗?下面的代码非常简单,并且确实有说明我需要的建议。不执行方法 test()。方法 runSu
在我的 xhtml 中,在 内标签我有多个面板,a4j:jsFunction 和 rich:popupPanel 以及 rich:panel。在我的 rich:panel 中,我有一些文本区域。然后
我想要一个代码来取消选中工作簿中所有工作表的所有名为“CheckBox1”的复选框。不幸的是,我当前的代码不起作用,我不确定为什么 - 它只适用于事件工作表。 Private Sub CommandB
我正在使用 Primefaces 使我的应用程序更加美观。我注意到 p:commandButton 和 h:commandButton 的工作方式不同。 p:commandButton 调用该方法并且
对于以下代码,我收到此错误 Method or Data Member not found. Private Sub Workbook_Open() Dim ws1 As Worksheet:
我是 JSF 和 RichFaces 的新手。我有一个应该调用 bean 方法的按钮。当我使用 它工作正常,但是当我点击 没有任何反应。 我的bean代码: public class LoginB
我正在使用 JSF,我想像 h:outputFormat 一样参数化命令按钮的文本。 有点像 此刻的我 但这让我在每次有参数时将所有存储为属性的文本一分为二 有什么提示吗? 最佳答案 我们使用
嗨,我有一个问题一直想问。我说的是不同类型的 type 标签。我读了一点,但大多数页面只有不同标签的名称,仅此而已。这样的 CommandButton、forms 或 tags 的范围是什么?使用标记
我有一个 Primefaces 命令按钮 自定义CSS类 .mybutton{ margin-left: 10px; margin-bottom: 10px; widt
我有两个命令按钮,当我点击输入时,第一个提交。如果用户点击回车,我真的只想提交第二个按钮。有任何想法吗? 最佳答案 我意识到这个问题很老,但也许有人看到不同的解决方案仍然很有趣。 您可以使用 Prim
我是一名优秀的程序员,十分优秀!