0

私は非常に奇妙な問題を抱えています。クラシックはサーバーではなくローカルホストで動作します。

私はより大きな問題を見つけようとしましたが、このコードが次のことを発見しました:

 <div class="pageHeader"><h1>Products2   #{products.debug}  </h1></div>

いつ :

@ManagedBean(name="products")
@SessionScoped
public class ProductsBean {
private String debug = "Debug : ";

public ProductsBean() {
    debug = "Debug : ";
}
public String getDebug() {
    return debug;
}

public void setDebug(String debug) {
    this.debug = debug;
}

文字列にdebugはゲッター/セッターがあり、

ローカルホストでは完全に機能しますが、リモートでは機能しません。リモートサーバーでは、文字列はまったくエコーされず、例外もスローされず、問題を探し始める方法がわかりません。問題は、この問題が他の方法で繰り返されることです。たとえば、このページには空のように見える dataTable がありますが、localhost にはありません。まったく別のページでファイルをアップロードしようとすると、例外が発生しましたがTarget Unreachable, identifier resolved to null、これはこの場合の問題ではありませんが、どういうわけか関連しているようです

何か助けはありますか?Oracle GlassFishを使用してOracle Linux Serverで実行しています

4

2 に答える 2

-1

私の頭の中の最初のステップは、ブラウザで右クリック -> ソースの表示を行い、それが何を表示するかをお知らせください。ビュー ソースで文字列 "#{products.debug} が出力されない場合は、サーバーが実際に EL 式を評価していることを意味しますが、レンダリング時には空の文字列として表示されます。

  • 実際のゲッター/セッターを教えてください。
  • それらにロガー/SOPを入れて、それらが呼び出されているかどうか、どの順序で呼び出されているかをお知らせください。
  • 純粋な EL 式を h:inputText などのデータ バインディング コントロールに置き換えて、何が起こるかを確認します。

    < h:inputText value="#{products.debug}" />

  • 関係ないかもしれませんが、ページの head セクションに < base /> タグを宣言していませんか? 基本タグ href は、子リソースのロード元の場所を提供します。過去に、サーバーをシフトしているときに、メインページがリモートから読み込まれ、子リソースが開発者ボックスのローカルホスト自体から読み込まれるときに、異常な動作が見られました。これは、ベースタグ参照を変更するのを忘れたためです。

于 2013-05-21T06:41:13.923 に答える