2012-07-11 6 views
5

Ben s kullanabilir miyim dikmeler yılında etiketi kullanmak sorunu, benim Eylem sınıfta bir Map olması Struts 2. metin etiketi
nasıl 2

Map menuMap = new HashMap<String, String>(); 
menuMap.put("home()", "lbl.home.home"); 
menuMap.put("mymodule()", "lbl.home.mymodule"); 
menuMap.put("adduser()", "lbl.home.adduser"); 
menuMap.put("changepassword()", "lbl.home.chngPwd"); 

anahtarları Bu benim Application.properties dosyası olduğu
lütfen aşağıya bakın Aslında değerleri, bir String gibi önemli/değerleri application.properties dosyasında Varlığından olan Harita Varlığından yaşıyor

lbl.home.home      = Home 
lbl.home.adduser     = Add User 
lbl.home.mymodule     = My Module 
lbl.home.chngPwd     = Change Password 

Şimdi benim jsp Bu haritayı yineleme ve bu değerleri almak istiyorum, özellikleri dosya dan, application.properties dosyasındaki bir anahtar olarak haritanın değerleri geçirerek ve ben
bir etiket olarak bunları göstermek istiyorum

<s:iterator value="menuMap"> 
<tr> 
    <td> 
    <a href="#" onclick="<s:property value="key"/>" ><s:text name="<s:property value='value'/>"/></a> 
    </td> 
</tr> 
</s:iterator> 

Şimdi problem i sayfa kaynağı için bakarsak i, bir görmek mümkün duyuyorum geçerli: özellikler Bu benim JSP kodu
dosya değerleri göstermek için anahtarı almak mümkün değil mümkün
etiketi ve onclick() üzerinde çağrılan işlev adı ancak abl değil metni etiket olarak görmek için e. Bir şey eksik, lütfen bunun için bana yardım edin.
Teşekkürler

cevap

9

Aslında denediğiniz şeyden daha basit. Metin etiketi bir Struts2 etiketi olduğundan, adı özniteliği OGNL ifadeleri destekler, böylece isim, sadece OGNL elde etmek mülkiyet etiketini kullanmaya gerek yoktur:

<a href="#" onclick="<s:property value="key"/>" ><s:text name="%{value}"/></a> 
+0

çok teşekkür ederiz, yes..you doğru i vardır Özledim ... takdir ... –