日期:2014-05-16  浏览次数:20363 次

struts2 在jsp中访问其他资源的非主流方案
jsp中有一个select标签,考虑到国际化和以后的扩展,所以它的list属性不想用硬编码实现,于是做了一个codeTable,把想要显示的数据都放进codeTable,可是怎么取得codeTable中得数据呢?每次调用Action的时候取得么,那要在每个Action中追加相关属性,嗯,还有一种办法就是自定义标签了,如果采用自定义标签的话,就要吧select,radio这些标签都重写一遍,想想就头大。最终找到了一个办法。

首先定义一个bean
class TestClass {

    public String getName() {
        // 在这里就可以取得你想要的资源了,数据库或者属性文件,都可以
        // 为了举例方便,这里只返回一个简单的字符串
        String result = "this is new name";
        return result;
    }
}



jsp里的定义如下:
<s:bean name="com.test.TestClass" id="myObject"/>


然后就可以取值了
<s:property value="#request.myObject.name"/>


ok,有了这个办法,就可以在jsp中随时取得你想要的数据了。诸如男,女,radiobutton,dropdown list等的数据就可以存放在codetable中了,随用随取。