页面如何调用action方法,急,在线等高人解答,求速度结贴
一个编辑页面,页面上需要从编辑的action里面调用一个方法来得到一个数组的长度,下面这个方法
Java code
private String[] getAllUploadPicSpecs(){
String[] wh;
String uploadPicSpecs = systemParamBiz.getNewsParam().getUploadPicSpecs();
wh = uploadPicSpecs.split("|");
if(wh==null){
wh[0]=uploadPicSpecs;
}
return wh;
}
页面上 <@s.hidden></@s.hidden>这个标签里希望是wh的长度;
------解决方案--------------------页面里面调用ACTION这个就本身是一个不良的做法,action不是给页面调用的,action其实主要还是业务的分发器。如果这里面真的有什么方法想要调用,我建议
直接写一个工具类,在JSP页面调用这个工具类的getAllUploadPicSpecs方法,别整那么麻烦还得调用Action
本来Action的实例化就需要mapping信息
------解决方案--------------------页面调用action方法???
通过form标签提交操作访问action啊,在action中调用service返回你需要的数组的方法,在struts中配置调用的action中方法的对应的返回的路径返回到JSP页面显示,这才是正常的逻辑啊
------解决方案--------------------
------解决方案--------------------你把 wh作为变量放到request作用域,action 转到页面,然后在页面用 #变量 来取就可以了。
------解决方案-------------------- 你的思维逻辑有问题,记得改正
------解决方案--------------------struts不是有个action标签吗,可以调用action的方法、属性
------解决方案--------------------JSP页面调用action需要发送请求,要不你就写一个form表单,要不你就用ajax异步调用,不能什么都不写直接调用,没请求从哪调用?
------解决方案--------------------LZ考虑下cookies吧
将uploadPicSpecs保存到cookies,页面加载时读取cookies,用JS写个函数得到wh,把wh放到一个hidden input中,如果在编辑页面上有变化可以JS操作uploadPicSpecs,并写入到cookies,表单提交后编辑action里也能操作