2012-01-02 23 views
1

私はStruts2とJavaのアクションクラスとビューJSPファイルを扱っています。JSPファイルでJSONObjectを使用してHashMapアクション変数にアクセスする

マイActionクラスは、名前の変数があります。PCKSで

HashMap<Integer, Boolean> pcksHavingFet; 
List<pck> pcks; 
int fet; 

を、私はPCKの主キーpckIdとのリストを持っています。 私はpcksを評価し、pckがデータベースのfetと関連付けられているかどうかに基づいてtrue/falseを割り当てるアクションクラスでコード関数を使用しています。そこで、pcksHavingFet Mapの完全な評価式を取得します。 JSPファイル内

//Code that evaluates and set pcksHavingFet varaible. 
//Create A JSON Object to access this Map variable in JSP. 
public void function() 
{ 
// code to populate pcksHavingFet with key/value pair. 
//e.g, pcksHavingFet = {1:true, 2:fALSE, 6:TRUE, 17:false, 11:true .....} 

//Create JSON Object to access Map in JSP file 
JSONObject jasonfeat = new JSONObject(); 
jasonfeat.accumulateAll(pcksHavingFet ); 
} 

私はこのpcksHavingFet地図の変数にアクセスする必要があります。

私は以下の関数を使用して、pckIdに基づいてfetDropdownドロップダウンを表示/非表示にしています。マップpcksHavingFetから計算されたtrue/falseです。

function pcksOnChange(pckId) 
{ 
var pcksHavingFet = <ww:property value="pcksHavingFet "/> ; 
<ww:set name="pcksHavingFet" value="%{JSONObject.fromObject(pcksHavingFet)}"> 
</ww:set> 
fetDropdown.style.display = (pcksHavingFet [pckId]) ? "" : "none"; 
} 

しかし、pcksHavingFet変数のアクションクラスに値が設定されていることがわかりました。しかし、JSPファイルでは、それにアクセスすることはできません。その空の地図として来る。

この変数には正常にアクセスしてください。それはgr8のヘルプになります。私はJSONの初心者です。あなたの提案/助言を詳述してください。

ありがとうございます。

答えて

0

JSONを処理するメカニズムでStruts2 Buildを使用しない理由Struts2は[Json-plugin]を提供します。 JSONのプラグインが2.1.7+

ので、Strutsのにバンドルされている1

あなたがする必要があるすべてはあなたのクラスパスにプラグインジャージャーを追加し、する必要があるためであるストラット、デフォルトの代わりにjson-defaultを拡張します行くのが良いです。

はサイドノートwwが今までに合併したウェブの仕事を表す同じようにあなたはStruts2の

  1. Strus2-Json

内でJSONを操作する方法の詳細と、たとえばプラグインのページを読むことを提案しますStruts2では、wwの代わりにsというタグを使用するのが少しクリアですが、最後の選択はすべてあなたのものです。

struts2でstruts2でタグ付けした方がよいでしょうか?

+0

ありがとうございます。実際に私はソフトウェアを管理しており、現在の実装と一緒に行く必要があります。上記のシナリオで助けをしてjsp/actionで自分の責任を教えてjson Map変数にアクセスすることができれば、それはgr8の助けになります。私はJSONプラグインを検討していますが。 :-) – Monika

+0

簡単な質問あなたのアクションクラスであなたのマップのゲッターとセッターを持っていますか?または公共のbtとしてプロパティを作るのは良い考えではない –

関連する問題