同一个jsp页面,java代码中变量怎么传到js中
你这样没问题啊,你如果要swfpath1的值,需要在你的document.getElementById后面需要再加上value
<%=swfpath%>
var swfpath ="<%=swfpath%>"; 这样肯定是可以的,还有就是用java写进了input里面 再取值肯定也要.value
js是肯定不能直接用<% %>中java代码的变量swfpath的
在下面的js中得声明一个变量来接收,可以还使用这个名字,var swfpath = document.getElementById("sufpath1");
直接 swfpath = document.getElementById("sufpath1");这样写,js中是没有这个swfpath的
swfpath = document.getElementById("sufpath1");
$("#swfpath1").val()
1。js变量获取jsp页面中java代码的变量值。
方法:var JS变量名 = <%=JAVA变量名 %>
2。java代码获取js变量的值。
说明:在JSP中;Java部分是在服务器端执行的;js部分是在客户端的浏览器执行的;二者完全不相干。因此直接在JSP页面上是无法在js、java和HTML变量之间进行调用的。
变通(解决方案):将js变量放到form中的一个;在后台从form中取出变量放到隐藏域中;然后提交表单给要调用变量的页面。这个页面可以就是本身。示例如下:
bb.jsp页面:
<% String test5 = (String)request.getAttribute("test4"); %>
<br>
var test1 = '111'; //定义js变量 <br>
document.form.test2.value = test1;<br>
//将js变量的值放到form中的一个隐藏域中 <br>
var formObj = document.getElementById('passForm');<br>
formObj.submit();<br>
aa.jsp页面中的Java代码:
<%
request.setCharacterEncoding("utf-8");
String txtMsg = request.getParameter("test2");
out.println(txtMsg);
%>
注:如果同一个页面自己给自己传值,aa.jsp和bb.jsp可以为同一页面。
传递的java变量一般应该是表示数字或者字符串的变量,复制给js变量一定要用引号括起来,如果java变量值含有引号,不好意思了你还得做转义。
少了个.value()
在你的new FlexPaperViewer 外面, 新定义一个 var swfpath = document.getElementById('swfpath1').value;然后在FlexPaperViewer里面用这个swfpath变量
建议适用JST${}就获取了
java传到js 直接在页面上 :var js变量=<%=java变量%>
js传到java:用dwr
var jsValue = "<%=javaValue%>";
var swfpath = <%=swfpath%>
在下面的js中得声明一个变量来接收,可以还使用这个名字,var swfpath = document.getElementById("sufpath1");
直接 swfpath = document.getElementById("sufpath1");这样写,js中是没有这个swfpath的
input的值改为<%=swfpath%>
写入到html里有很多方法的,要明确你写入的地址,可以DOM对象,选择id,write一下就好了;或者对于一些框input之类的,直接定义value值,就行了
用c标签set 然后在js中再赋值给变量
就照着这样写就可以用了啊
就照着这样写就可以用了啊
不需要input,js里直接写
var swfpath = "<%=swfpath%>";
就可以了
用下面这种格式用就行了
用下面这种格式用就行了
用下面这种格式用就行了
不需要input,js里直接写
var swfpath = "<%=swfpath%>";
就可以了
用下面这种格式用就行了
推荐你看一下jsp的9个隐含对象,就能解决你这个问题了.很简单
取值需要在后面加上value获取值
用jsp变量转换格式 var js变量<%=jsp变量%>