<%
String str = "hello";
//假设有个String
%>
<script>
//js代码
var str='<%=Str%>';
//注意 这里一定要加上''要不然 没法解释成正确对象
<script>
『贰』 JS调用JSP中的变量问题
js获取jsp页面的参数的方法如下:
第一种写法:
if('${method}'=="add"){js代码段专属1}else{js代码段2}
第二种写法:
<%if(request.getAttribute("method")!= null&&request.getAttribute("method").equals("add")){%>
js代码段1
<%}else{%>
js代码段2
<%}%>
『叁』 在js中可以引用jsp中的数据吗
你好,
通常来说是可以的。我给你列举两种方法,你根据你的情况选择适合你的吧。
方法一:将jsp中的变量输出到html中的type为hidden的input中,js从input中去取值
<!--jsp页面中的input元素-->
<inputtype="hidden"value="<%=serverData%>"id="J_ServerData">
<!--
当然,挂在某一个DOM元素的属性上也是可以的
<divid="J_DataDiv"data-server-data="<%=serverData%>">页面中的任意DOM节点</div>
-->
<script>
//JS中读取jsp页面中输出到页面中的值
varinp=document.getElementById('J_ServerData');
//如果是div
//varnode=document.getElementById('J_DataDiv');
//取值
varserverData=inp.value;
//如果是属性
//varserverData=node.getAttribute('data-server-data');
console.log(serverData);
</script>
方法二:JS可以通过AJAX与服务端通信,只需服务端封装一个JSP接口,前端即可取到服务端数据,以jQuery为例
$.ajax({
url:'server_addr/api.jsp',
type:'get',
success:function(data){
//data就是服务端(jsp)返回的数据
console.log(data);
}
});
大致就这么多,希望能解决你的疑惑,如有疑问可追问~
『肆』 怎么在jsp页面用js中定义的变量
你可以把java代码传入到作用域中. request.setAttribute("变量名",变量值); 之后你再用el表达式将作用域中的值拿出来就可以${变量名} 这个可以在jsp页面的任意位置使用。
『伍』 如何在JSP中使用javascript里定义的变量
js用jsp里面定抄义的变量,方法是var a='<%=变量名%>';的形式
jsp使用js定义的变量,只能使用js代码,将对应的变量放到表单里面或通过url(window.open拼接上变量)的方式。传递给jsp.
『陆』 在JSP中怎么调用JS定义的变量
应该不行,所有的java代码,是在服务器端先编译的,然后javascript到了客户端才能编译,顺序已经决定了不可以。你只能再次通过和服务器交互,来传递var a的值了。
『柒』 jsp调用js的变量
1、首先在jsp页面上,定义二个变量。
『捌』 如何在jsp中引用js变量
jsp中是不能引用js变量的,jsp是服务端的,在服务器转发的时候数据已经定死内在页面里面了
,而js是客户端的,可以不断通过客户端代码来修改js的值,因此js的值不能赋值给jsp的。如果硬要赋值的话可以虚拟一个表单提交,例如:
<form id="testForm" method="post" action="当前页面.jsp">
<input type='hidden' id="test1" name="val1" value="js的值">
</form>
<script>document.getElementById('testForm').submit()</script>
<% String val=request.getParamter('val1') %>
这样就可以了,容但是表单已经提交过一次了,一次转发携带的数据将会丢失!