2012-01-05 13 views
0

Struts WebアプリケーションのSession、Application、およびRequest変数にアクセスしたいとします。 セッションには 'HttpSessionHashModel'タイプのセッションがあり、このクラスが 'isEmpty()'メソッドを持っていることがわかりました。だから私は例のために試した。FreemarkerサーブレットとStruts:テンプレート内のjavaメソッドと変数にアクセスする

<#assign a = Session.isEmpty()> 

しかし、それはそのような要素 'Session.isEmpty'がないことを私に伝える。

アイデアを持っている人はいますか?セッションで

私は経由でアクセスすることができ、いくつかのクラスがあります <#assign b = Session["classname"]>(それはbが、その後タイプfreemarker.ext.beans.StringModelである私に語った)が、私はクラスStringModelのメソッドを呼び出すことはできませんどちらも私がに保存されているオブジェクトとメソッドを取得することができます'クラス名'。

希望の誰かが

+0

バージョンは何?詳細を記入してください。どのようにStruts/FreeMarkerなどを統合していますか? –

+0

あなたの答えはありがとう! 問題はほぼ解決されています。少なくとも変数bの場合、私は 'classname'のJavaコードに存在しないメソッドにアクセスしようとしました。 しかし、私はまだ興味があると思います。例えば、 <#assign a = Session.isEmpty()> というアイデアはありますか? 通常、javaクラスがあり、そのインスタンスをデータモデルに置くと、テンプレート内のこのクラスのメソッドと変数を呼び出すことができます。struts1を使用し、サーブレット 'freemarker'をWebに組み込むことでFreemarkerを統合します.xmlと* .ftlファイルをこのサーブレットにマッピングします。 – user1132208

+0

わかりません。 'Session.empty'は動作しますか? –

答えて

0

@sマクロを使用することができます:Strutsのと一緒に配布

タグが自動的にFreeMarkerのテンプレートで使用可能になります。任意のタグを使用するには、 "@s"を追加します。タグ名の前に同様に:

<@s.if test="printName"> 
    <@s.property value="myBeanProperty" /> 
</@s.if> 

参照のStrutsの

関連する問題