读书人

JS调用JAVA的有关问题

发布时间: 2013-03-01 18:33:02 作者: rapoo

JS调用JAVA的问题
在WEB界面里,有个“保存”按钮,执行set操作
在set函数里:
function set()
{
<%
List<T_lottery> list = T_lottery.getT_lottery();
for(int i=0;i<list.size();i++)
{}
%>
}
问题是:
在打开这个界面的时候,就会执行这个list一行代码,然后在界面上点击“保存”按钮的时候,就不去执行list这行代码了。
现在我想在点击“保存”按钮的时候,先执行list这行代码,我改如何操作呢?
希望大家能多多帮忙!谢谢,最好能些个代码,帮忙解释下,非常感谢了! java JS list
[解决办法]
不可行,所谓的jsp页面,在响应请求之后已经被编译为servlet文件了。针对%内代码的编译一定是在页面响应之前的。
最后用户浏览器接收到的只是编译过的html文本而已。
[解决办法]
JS在客户端运行,JSP代码在服务器运行,能执行到一块?
[解决办法]
js调用java是可以的,但两种代码不能混在一起写,必须分开,请看代码:
RoleAjax.java


/**
* 角色ajax
* @version 1.0
*/
@AjaxBean(name = "roleAjax")
public class RoleAjax extends BaseAjax {

/**
* 设置权限
* @param id 角色ID
* @param menuIds 菜单id
* @return String
*/
@AjaxMethod
public String menu(Long id, String menuIds) {
try {// 逻辑代码就不贴了
System.out.println("角色ID:" + id + " 菜单id:" + menuIds);
return "操作成功!";
} catch (Exception e) {
e.printStackTrace();
}
return "操作失败!";
}

}


role_menu.jsp

<script type="text/javascript" src="<m:contextPath/>/mvc/framework/res/js/public.js.php"></script>
<script type="text/javascript" src="<m:contextPath/>/mvc/framework/ajax/roleAjax.js.php"></script>
<script type="text/javascript">
function doMenu() {
// 用js直接调用java类的方法,传入相应的参数,最后一个参数为回调函数
// roleAjax就是那个java类的注解,实际上已经在页面产生了一个js对象
roleAjax.menu(1, "23,25,36,48", function(result) {
alert(result);// 这个结果就是java方法的返回值
});
}
</script>

[解决办法]
你也可以用dwr ,
我这有两个demo
http://download.csdn.net/detail/zuxianghuang/4158486
[解决办法]
如果需要的是你的list里的内容在客户端js可用,可以将其中的数据保存在一个json格式的string里,在显示页面时将此json付给一个js端变量,之后在js端就可以用了
[解决办法]
理解错了,这种情况需要访问一个url地址,把值传过来

读书人网 >Java Web开发

热点推荐