首页 > 代码库 > jsp,OGNL调用后台Action的某方法

jsp,OGNL调用后台Action的某方法

用%{}可取出valueStack中的Action,可直接调用其方法.

%{testa(‘key‘)} 即可调用到action的testa(String s) 方法 

但这些都需要结合struts2的标签. 如:<s:property value="http://www.mamicode.com/%{testa(‘key‘)}" />
key是需要传的参数,后台的testa方法的返回值是String类型的,key是值,
例如<s:property value="http://www.mamicode.com/%{testa(#u.tbPriceGreade.priceGreade)}"/>
经过本人试验,返回值也可以是list集合,这个时候一般用在遍历<select> 的时候用的
   <s:iterator id="Ids1" value="http://www.mamicode.com/%{getlistTblSuperPprice(#li.productId)}" status="stat4" >   getlistTblSuperPprice返回的是list集合
如果如果单独的一个固定的值就得用‘key‘,不过这种固定值情况很少出现,因为没什么意义
另外还有一种方式:
 <s:property value="http://www.mamicode.com/@com.zycloud.dao.TbMachineRoomDAO@findMachineRoom(#session.tblOrderMYself.categoryId).machineRoomName"/>
大家一看就明白了吧

jsp,OGNL调用后台Action的某方法