1

GlassFish 3.1.2.2 で JSF 2.2.4 を使用しています。

私はこのバッキングビーンを持っています:

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import java.io.Serializable;

@ManagedBean(name="testMB")
@RequestScoped
public class TestMB implements Serializable {

    public long id;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }
}

そしてこのビューtest.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">    

 <f:metadata>
    <f:viewParam name="id" value="#{testMB.id}"/>
 </f:metadata>

<h:body>
    <h:inputText value="#{testMB.id}" />
</h:body>
</html>

を開く/test.html?id=123と、ID が0ではなくとして表示されます123<f:viewParam>なぜその仕事をしなかったのですか?

更新しました

GlassFish 4.0 をインストールしました。

JSF の Maven 依存関係:

<dependency>
    <groupId>javax.faces</groupId>
    <artifactId>javax.faces-api</artifactId>
    <version>2.2</version>
</dependency>

faces-config.xml:

<?xml version='1.0' encoding='UTF-8'?>
<faces-config 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-facesconfig_2_2.xsd"
              version="2.2">

    <!-- JSF and Spring are integrated -->
    <application>
        <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
    </application>

</faces-config>

そしてtest.xhtml

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:h="http://xmlns.jcp.org/jsf/html">

<f:metadata>
    <f:viewParam name="id" value="#{testMB.id}"/>
</f:metadata>

<h:body>
    <h:inputText value="#{testMB.id}" />
</h:body>
</html>

しかし、ID は として表示され0ます。

テスト用 Maven プロジェクト: https://www.dropbox.com/s/qbc05vysspvt46l/jsf-spring-mybatis-master.zip

4

1 に答える 1

0

問題が解決しました

*.xhtml という名前のページ。

web.xml には次のものがありました。

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping> 

右:

<url-pattern>*.xhtml</url-pattern>
于 2013-11-18T20:10:37.583 に答える