0

私はeventLinkを使用しています。t:context を使用して、String やその他のプリミティブ型を渡すことができます。しかし、t:context を使用してオブジェクト全体を渡したいです。「タイプ java.lang.String からタイプ test.ViewUsers への強制変換が見つかりませんでした」というエラーが表示されます。valueEncoder を使用していますが、呼び出されません。

ここに私のtmlファイルがあります

<table width="100%" t:type="grid" t:id="list" t:source="users" t:row="rowUser" encoder="encoder"

    t:model="beanModel"

    t:add="action"

    t:zone="^"

 >

   <p:actionCell >

   <a t:type="eventLink" t:event="review" t:context="[rowUser]" href="#" encoder="encoder">

            Testing

   </a>

これが私のJavaファイルです。valueEncoder は呼び出されません。logger.error は何も出力しませんでした。

boolean onReview(ViewUsers object) {

    logger.error("Testing. Inside onReview");

     return false;

}



public ValueEncoder<ViewUsers> getEncoder()

{

    return new ValueEncoder<ViewUsers>()

    {

     @Override

      public String toClient(ViewUsers user)

       {

                logger.error("Testing. Inside toClient");

                if(user == null)

                {

                      return null;

                }

              return user.getId().toString();

         }

        @Override

        public ViewUsers toValue(String clientValue)

       {

               logger.error("Testing. Inside toValue");

              for(ViewUsers user : users)

              { 

                    if(user.getId().toString().equals(clientValue))

                    {

                            return user;

                     }

                 }

               return null;

          }

      };

 }

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

0

ValueEncoderFactoryValueEncoderSource提供する

于 2013-06-21T10:43:48.993 に答える