2017-11-25 153 views
0
  • マネージドBeanをコンフィグレーションするには2つの方法がありますが、1つはfaces-config.xmlファイルを使用し、もう1つは「注釈」です。
  • このデモでは、MyEclipseでアノテーションを使用してBeanを構成したいが、動作しなかった。

1.UserBean.javaターゲットに到達できません、識別子 'userBean'がnullに解決されました

public class UserBean { 
String userid; 
String password; 

@Named("userBean") 
@RequestScoped 
public String getUserid() { 
    return userid; 
} 
public void setUserid(String userid) { 
    this.userid = userid; 
} 
public String getPassword() { 
    return password; 
} 
public void setPassword(String password) { 
    this.password = password; 
}} 

2.Login.xhtml the page users enter the id and password

3.Welcome.xhtml when user click the submit button, the page comes

:ここ
  • コードであります

    4.faces-config.xmlの faces-config.xml


    あなたが見ることができるように、私はちょうど "@Named(" UserBeanの」を使用し、 "顔-config.xmlの" ファイルで管理Beanを設定しませんでした) "と" @RequestScoped "を" UserBean.java "ファイルに追加してBeanを設定します。


    1.Iは、私がデータを送信するボタンをクリックし

    http://localhost:8080/JSF/


    たら、2.ウェブサイト上login.xhtmlを開いて、それがこのページをアップしています:

    After click the submit button


    あなたが私にこの質問にいくつかの注意や指導を与えることができれば、私は


    (Ps.This^_ ^このごろJSFを学ぶために始めた、私が把握する必要があり、多くの混乱した事があります、どうもありがとう私がstackoverflowで最初に質問したので、写真を直接アップロードできませんでした。hperlinkで写真が見えない場合は、教えてください。ありがとう!)

    答えて

    0

    代わりに@Named bean annotationをクラスに設定する必要がありますメソッドの。 エラーは、基本的に、サーバーがマネージドBeanクラスを見つけられなかったことを示しています。あなたのコードは次のようになります:

    @Named("userBean") 
    @RequestScoped 
    public class UserBean { 
        String userid; 
        String password; 
    
        public String getUserid() { 
         return userid; 
        } 
    

    あなたのWelcome.xhtmlを見ました。 $の代わりに#を使うべきです。ウェルカムページが、この

    <h:outputLabel value="#{userBean.password}" /> 
    
    +0

    が応答をありがとう、私はあなたが指摘したコードを変更しましたが、それはまだエラーページでも同じエラーアップします:ターゲット到達不能、識別子「UserBeanの」ヌルに解決します。 –

    +0

    web.xmlにfacesサーブレットエントリを指定しましたか? – Harsh

    +0

    <歓迎-ファイル一覧> <歓迎-ファイル> Login.xhtml の顔サーブレット < Facesサーブレット(サーブレットクラス)>サーブレットクラス> javax.faces.webapp.FacesServlet * .xhtml <コンテキスト-param>の ​​javax.faces.PROJECT_STAGE 開発

    0
    • のようなものを持っている必要があり はので、私は、Tomcatは、CDIをサポートしていないので、私は、注釈の豆を使用することができなかった理由は、私は自分のアプリケーションでCDIを設定しなかったということだと思いますそれ自体では、サポートするためにいくつかの外部jarファイルを手動で追加する必要があります。ここに私が設定するステップがあります。

    1. ダウンロード溶接-servlet.jarはファイル、ここで私はそれをダウンロードしたリンクがある、あなたはまた、インターネットからダウンロードすることができます。 http://www.jsf2.com/using-cdi-and-jsf-2.2-faces-flow-in-tomcat/samples/weld-servlet.jar
    2. ディレクトリに、このjarファイルを追加「/ WEB-INF/libの「既存の置き換え、
    3. は "/ WEB-INF" の下のbeans.xmlファイルを作成します( 'パスを構築する方がよいD)次のコードスニペットを使用してbeans.xmlファイルのコード:<?xml version="1.0" encoding="UTF-8"?> <beans 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/beans_1_0.xsd"></beans>

    4. さらにもう1つ、Serializbleインターフェイスを実装する必要があります。


    • あなたに私のプログラム全体の概要を与えます。 image
    関連する問題