Java 我的脸不能正常工作了

Java 我的脸不能正常工作了,java,jsf-2,myfaces,apache-tomee,Java,Jsf 2,Myfaces,Apache Tomee,我正在使用Netbeans 7.3.1开发一个JSF web应用程序,该应用程序运行在ApacheTomee 1.5.2上,它捆绑了MyFaces 2.1.10,另外,我还使用PrimeFaces 3.5进行一些奇特的标记 我一定是在什么地方弄坏了什么东西,因为直到昨天一切都正常,然后今天当我尝试部署我的应用程序时,它在正确呈现所有Primefaces标记的同时未能呈现。标记也被渲染 更新: 也会正确渲染,但会忽略值属性,如中所示 此外,直到昨天,我的托管bean在没有implements Se

我正在使用Netbeans 7.3.1开发一个JSF web应用程序,该应用程序运行在ApacheTomee 1.5.2上,它捆绑了MyFaces 2.1.10,另外,我还使用PrimeFaces 3.5进行一些奇特的标记

我一定是在什么地方弄坏了什么东西,因为直到昨天一切都正常,然后今天当我尝试部署我的应用程序时,它在正确呈现所有Primefaces标记的同时未能呈现。标记也被渲染

更新: 也会正确渲染,但会忽略值属性,如中所示

此外,直到昨天,我的托管bean在没有implements Serializable声明的情况下仍能正常工作,而今天,如果我不添加它,我会得到一个异常

我检查了这些回答,但似乎没有一个适用于我的情况:。特别是,在这些情况下,问题似乎是根本没有解析页面,但在我的情况下,页面被部分解析

我在应用程序中准备了一个小测试用例来显示这种行为。这是我的faces-config.xml:

这是示例页面example.xhtml:

我根据结果准备了一份报告

PrimeFaces拾取列表工作正常,[…]之间的文本被渲染,我相信这是因为标记被简单地删除了,但使用value属性的标记却没有。在我的应用程序的所有其他页面中都会发生类似的行为

我做了什么会导致这种行为?原因可能是什么

<?xml version="1.0"?>
<faces-config 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-facesconfig_2_0.xsd"
              version="2.0">

</faces-config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <description>Pannello di amministrazione di FiatLux</description>
    <display-name>Pannello Amministrazione FiatLux</display-name>
    <distributable/>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <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>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet>
        <description>Default servlet</description>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/resources/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsf</welcome-file>
    </welcome-file-list>
</web-app>
<?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.org/ui">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <h:form id="form">
            <h:outputText value="Example value text" />
            <h:outputText>Text between opening and closing tags</h:outputText>
            <p:pickList id="outPickList"
                        value="#{exampleBean.data}"
                        var="obj"
                        itemLabel="#{obj}" 
                        itemValue="#{obj}">
            </p:pickList>
            <p:commandButton ajax="false" action="#{exampleBean.updateAction}" value="Submit"/>
        </h:form>
    </h:body>
</html>
package com.ipssconsulting.fl.admininterface.presentation;

import java.io.Serializable;
import java.util.Arrays;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.apache.log4j.Logger;
import org.primefaces.model.DualListModel;

@SessionScoped
@ManagedBean(name = "exampleBean")
public class ExampleBean implements Serializable {
    private static final long serialVersionUID = 89900876464743497L;

    private static final Logger logger = Logger.getLogger(ExampleBean.class);

    private DualListModel<String> data;

    @PostConstruct
    public void initialize() {
        String[] initData = {
            "Primo", "Secondo", "Terzo"
        };
        data = new DualListModel();
        data.setSource(Arrays.asList(initData));
    }

    /**
     * @return the data
     */
    public DualListModel<String> getData() {
        return data;
    }

    public void updateAction() {
        logger.info("Clicked");
    }

    /**
     * @param data the data to set
     */
    public void setData(DualListModel<String> data) {
        this.data = data;
    }
}