标签: jsf

使用<h:head>而不是<head>时,不会应用自定义CSS

如果我把:

<head>
//..
</head>

<body>
//..
</body>
Run Code Online (Sandbox Code Playgroud)

我的CSS样式正确应用,但当我改为:

<h:head>
//..
</h:head>

<h:body>
//..
</h:body>
Run Code Online (Sandbox Code Playgroud)

我的风格似乎错了CSS的某些部分.

为什么会这样?

更新: 为了简化我的问题,我将在下面显示两个图像:

没有

<h:head>.. <h:body> (这是正确的CSS样式)

好的

<h:head>..<h:body>
Run Code Online (Sandbox Code Playgroud)

有错误

我只是改变了同样的事情,这个错误发生了.

我是关于JSF的新手,我必须做些什么?

更新2: 我正在使用Rich Faces 4,我意识到的一件事就是在标签的末尾出现了一个脚本:

<link type="text/css" rel="stylesheet" href="/brainset/rfRes/skinning.ecss.xhtml?db=eAHL6rC8BQAEkAIG">
Run Code Online (Sandbox Code Playgroud)

我没有把它,这只出现

> <h:head> ... <h:body>
Run Code Online (Sandbox Code Playgroud)

标签.我认为我的风格被RichFaces所取代,包括这个'skinning.ecss'.

css java jsf jsf-2

0
推荐指数
1
解决办法
2134
查看次数

创建自己的自定义标记时出现问题(JSF 2.0)

我正在学习创建自己的自定义标签,但我遇到了一些麻烦,我不能使这个简单的应用程序使用我创建的标签.我认为我做的一切都很好,但我担心我创建的新库的路径是错误的.也许有人可以帮助我找到我的错误所在并理解它的原因.这是我到目前为止所做的:

1-我将标签创建为xhtml块(mybutton.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">

<ui:composition>
    <h:commandButton type="submit" value="#{buttonSubmitLabel}" />
    <h:commandButton type="reset" value="#{buttonResetLabel}" />
</ui:composition>
</html>
Run Code Online (Sandbox Code Playgroud)

2-然后我创建了一个.xml文件,它将充当我所有自定义标签都被编入索引的库(mytagsconfig.taglib.xml)

 <?xml version="1.0"?>
<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
    version="2.0">
    <namespace>http://mytags.com/facelets</namespace>
    <tag>
        <tag-name>mybutton</tag-name>
        <source>mytags/mybutton.xhtml</source>
    </tag>
</facelet-taglib>
Run Code Online (Sandbox Code Playgroud)

3-我试图在web.xml中注册我的新库,所以我可以使用它

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <display-name>CHAPTER 5 Creating your own Custom tags</display-name>
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>

    <!-- REGISTERING A CUSTOM TAG INTO …
Run Code Online (Sandbox Code Playgroud)

java jsf custom-controls java-ee jsf-2

0
推荐指数
1
解决办法
6238
查看次数

更新后的更改未在h:dataTable中更新后反映在JPA实体中

我正在使用Eclipse和Glassfish 3.0.虽然我以前做过类似的事情,但对这项技术来说还是很新 非常简单,确实有一个绑定到支持bean的数据表.添加方法并删除我已经介绍过的方法 - 问题在于我调用的更新方法.我似乎无法看到组件中拾取的更改(HtmlInputText)从不介意将数据传递回表.

我的数据表代码如下(和jsf页面)

<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:loadBundle basename="resources.application" var="msg"/>

<head>
    <title><h:outputText value="#{msg.welcomeTitle}" /></title>
</head>
<body>
 <h:form id="mainform">

  <h:dataTable var="row"  border="0" value="#{beanCategory.collection}" binding="#{beanCategory.datatable}">

    <f:facet name="header">
        <h:outputText value="Categories"/>
    </f:facet>
    <h:column>
        <f:facet name="header">
            <h:outputText value="Description"/>
        </f:facet> 

            <h:inputText id="input1" value="#{row.description}" valueChangeListener="#{row.inputChanged}"/>


        </h:column>
    <h:column>
        <f:facet name="header">
            <h:outputText value="Id"/>
        </f:facet>
        <h:outputText id="id" value="#{row.id}"/>
    </h:column>
    <h:column>
            <h:commandButton value="Delete" type="submit" action="#{beanCategory.remove}">

                <f:setPropertyActionListener target="#{beanCategory.selectedcategory}" value="#{row}"/>
            </h:commandButton>
            <h:commandButton value="Save" action="#{beanCategory.update}"
                >
                <f:setPropertyActionListener
                    target="#{beanCategory.selectedcategory}" value="#{row}" />

            </h:commandButton>
        </h:column>
</h:dataTable>

<h:inputText id="text1"></h:inputText>  <h:commandButton action="#{beanCategory.addCategory}" value="Add" type="submit" id="submitbutton"> …
Run Code Online (Sandbox Code Playgroud)

datatable jsf jpa

0
推荐指数
1
解决办法
1万
查看次数

如何使用JSF 2 + Eclipse Java EE Web Developers + Hibernate创建项目?

我真的需要用这些技术创建一个简单的项目,我已经知道如何在Eclipse中创建一个JSF 2项目.但我不知道如何插入hibernate并使其工作.我在Netbeans中知道但我想明确地改为Eclipse.

我在谷歌搜索但没什么可靠的.

任何铅,小费,将非常感激.

谢谢

java eclipse jsf jboss hibernate

0
推荐指数
1
解决办法
1231
查看次数

函数多次被无故召唤

我有一个init()函数,它返回填充数据表所需的Domaines列表,这个数据表的每一行都有两个命令链接,一个用于编辑,另一个用于删除,所以当我按下编辑命令链接时,一个对话框窗口显示Domaine有可能编辑的信息(还有另一个用于添加新域的对话框),所以问题是当我按下编辑时,调用init函数8次然后设置添加对话框的属性(即使之间没有关系)再次调用init函数4次后,编辑命令链接和添加对话框窗口.我不明白wh.这里是我的页面代码:

    <?xml version='1.0' encoding='UTF-8' ?>
<!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:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
         <ui:composition template="gpsiTemplate.xhtml">
            <ui:define name="left-menu">
                <ui:include src="admin-menuGauche.xhtml" />
            </ui:define> 
            <ui:define name="top">
                <ui:include src="menu-top.xhtml" />
            </ui:define>
            <ui:define name="content-top">
                <center>
                       <f:view>
                           <h:form id="topacteurs">
                               <h:panelGrid columns="14" styleClass="adminTopTable" >
                                   <h5 class="calendar">Direction :</h5> 
                                   <p:selectOneMenu id="typeacteurs" value="#{domaine.choixDirection}" style="width: 180px">  
                                        <f:selectItem itemLabel="Direction..." itemValue="" />  
                                        <f:selectItems value="#{direction.initcomb()}"  var="ta" itemValue="#{ta.codeDirection}" itemLabel="#{ta.libelleDirection}" />
                                        <p:ajax update=":mainform:domainlist" process="topacteurs" event="change" />
                                    </p:selectOneMenu>      

                                    <p:spacer width="20" height="0" />
                                    <p:commandButton title="Ajouter un domaine" …
Run Code Online (Sandbox Code Playgroud)

jsf java-ee primefaces jsf-2

0
推荐指数
1
解决办法
4092
查看次数

如何使用c:foreach和其他字段之后呢?

我的问题是在我的主页上,我capacidade完全得到了变量.然后我有那个c:forEach和另一个名字的字段"nome".当我试图坚持,然后我capacidade填补了字段,但"nome"属性来了null.我看到如果我在他之前推他c:forEach,那它就有效了.但是我需要让他在c:forEach田野之后.

<s:decorate template="layout/form.xhtml">
            <ui:define name="label">capacidade:</ui:define>
            <h:inputText size="50" value="#{home.instance.capacidade}" maxlength="100" required="true" />
        </s:decorate>

        <a4j:outputPanel id="camposPresenca">
            <c:forEach items="#{home.presencas}" var="presenca" varStatus="loop">
                <s:decorate template="layout/form.xhtml">
                    <ui:define name="label">Presença #{loop.index + 1}</ui:define>
                    <rich:calendar enableManualInput="true" value="#{presenca.dataPresenca}" datePattern="dd/MM/yyyy" oninputblur="validarData(this);" required="true"/>
                    <h:inputText size="100" value="#{presenca.horarioPresenca}" maxlength="250" />
                </s:decorate>
            </c:forEach>
        </a4j:outputPanel>

        <s:decorate template="layout/form.xhtml">
            <ui:define name="label">Nome:</ui:define>
            <h:inputText size="50" value="#{home.instance.nome}" maxlength="100" required="true" />
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?

java jsf richfaces

0
推荐指数
1
解决办法
248
查看次数

java.io.NotSerializableException:org.postgresql.jdbc4.Jdbc4Connection

我有一个带有视图范围的托管bean.问题是,当我运行Web应用程序时,我有以下错误:

GRAVE: Error Rendering View[/login.xhtml]
java.io.NotSerializableException: org.postgresql.jdbc4.Jdbc4Connection
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source)
    at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
    at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
    at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
    at java.io.ObjectOutputStream.writeObject0(Unknown Source).........
Run Code Online (Sandbox Code Playgroud)

但是当我将范围更改为会话或请求时,一切正常.任何人都可以告诉我,如果我做错了什么?也许我忘记了配置或什么?

java jsf jdbc

0
推荐指数
1
解决办法
1418
查看次数

h:commandLink和onclick Javascript函数

我有以下代码和平:

<DIV>
    <h:commandLink action="#{documentGen.generatePDF}"
        target="_blank"
        onclick="return checkSelected();">
        <h:graphicImage url="/images/pdf.jpg"
        styleClass="pdfimage" title="Click to show PDF"></h:graphicImage>
    </h:commandLink>
</DIV>
Run Code Online (Sandbox Code Playgroud)

上面的内容放在一个表中,用户可以勾选复选框并单击上面的commandLink,这意味着打开一个新窗口并显示backbean生成的内容 #{documentGen.generatePDF}.

如果我包括,这可以按预期工作onclick="return checkSelected();".如果我包含它然后从不调用backbean,而是我得到一个新窗口,它是当前的重复.

我需要这个javascript函数来检查用户是否至少选中了1复选框,否则显示警告.Javascript函数工作正常,如果在单击commandLink时没有勾选复选框,我会看到警报.

我的问题是,为什么它会onclick搞乱commandLink的作用?我究竟做错了什么?

更新:

h:commandLink里面h:form.如上所述,上面的命令链接按预期工作,没有onclick=.....

为了测试,我将onclick上调用的javascript函数更改为:

function testFunc() {
        alert("GOT Here!")
        return ture;
 }
Run Code Online (Sandbox Code Playgroud)

并在命令链接中单击以: onclick="return testFunc();"

结果是我收到警告"GOT Here!" 但和以前一样,新窗口是当前窗口的副本,并且不会调用backbean.删除onclick行会更正结果(但需要使用javascript函数来检查已选中的复选框).

在浏览器源视图中,没有onclik和onclick的commandlink之间的区别如下:

  <a href="#" onclick="return oamSubmitForm('genView','genView:_idJsp33','_blank',[]);" id="genView:_idJsp33" target="_blank"><img src="/images/pdf.jpg" title="Click for Pdf Document" class="pdfimage"></a>


  <a href="#" onclick="return testFunc();;return oamSubmitForm('genView','genView:_idJsp33','_blank',[]);" id="genView:_idJsp33" target="_blank"><img src="/images/pdf.jpg" title="Click for Pdf Document" class="pdfimage"></a>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.谢谢

jsf seam

0
推荐指数
1
解决办法
3万
查看次数

为什么JSF ManagedBean方法只执行一次时执行了多次?

在使用JSF来开发使用NetBeans的Web应用程序时,我曾多次注意到在某些情况下,JSF ManagedBeand中的getter方法(以及可能的setter)也会被执行多次,而它们只打算执行一次.在这种情况下,有时执行某些操作(特别是某些计算)的某些关键条件(如果等)以防止它们被淹没是非常关键的.我一直在努力了解其背后的实际原因,但我不能.

在这里,我演示了一个非常简单的应用程序,其中有一个getter方法

public Collection<entity.Country> getCountries(){};
Run Code Online (Sandbox Code Playgroud)

调用远程EJB并从MySql数据库中的相关表中检索所有国家/地区并在JSF页面上显示.网页的屏幕截图如下所示.

没有必要对屏幕截图,JSF页面代码及其相应的ManagedBean付出太多和特别的关注.

来自MySql数据库的所有国家.

这是JSF页面代码

<?xml version='1.0' encoding='UTF-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

<h:head>
    <title>Countries</title>
</h:head>

<h:body>
    <h:form>
        <center><br/><br/><br/>

        <h:dataTable id="dataTable" styleClass="table" frame="box" value="#
             {country.countries}" var="row" bgcolor="lightyellow" border="7" 
             cellpadding="7" cellspacing="7" rules="all" width="50%" dir="ltr">

            <f:facet id="header" name="header">
                <h:outputText value="~:Country:~" styleClass="tableHeader"/>
            </f:facet>

            <h:column>
                <f:facet name="header">Country ID</f:facet>
                <h:outputText id="countryID" value="#{row.countryID}"/>
            </h:column>

            <h:column>
                <f:facet name="header">Country Name :</f:facet>
                <h:outputText id="countryName" value="#{row.countryName}"/>
            </h:column>

    </h:dataTable>
        </center>
    </h:form>
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

相应的简单JSF ManagedBean代码就在这里.

package country;

import commonBean.CommomBeanRemote;
import java.util.Collection;
import javax.ejb.EJB; …
Run Code Online (Sandbox Code Playgroud)

java getter setter jsf

0
推荐指数
1
解决办法
1779
查看次数

每个浏览器选项卡JSF一个会话

我正在使用我的JSF应用程序进行一些测试,当我在不同选项卡上的相同Web浏览器中尝试它时,在所有选项卡中最后一个会话都存在.

我怎么能阻止这个?

session jsf

0
推荐指数
1
解决办法
4732
查看次数