怎么在jsp页面jsp获取java变量在后台产生的变量值,以及从页面传输居到java程序(程序不是嵌在页面的)

比如说:我从一个数据列表的页面 &listbox&
&/listbox&中获取一行内容 后台得到 然后把这行信息显示到另外一个页面做修改-- JAVA代码 --Listbox listbox = (Listbox) getFellow("items");Listitem lt = listbox.getSelectedItem();Machines machines = (Machines) lt.getValue(); //得到了前台 &listbox&&/listbox&中一行内容怎么样能够让这些获取到的内容显示到 修改页面上去呢?我开始的想法是 获取修改页面的控件 然后给控件赋值Textbox type_t = (Textbox) this.getFellow("typeTXT");key_t.setValue(machines.getKeyNO());但是发现这样不行 页面跳转后
修改页面并没有显示出数据来
Sort by >>
最简单的办法是将数据保存到session中,session.setAttribute(key,value),第二个页面从session中取出即可
用session、request保存我也想过,我的JAVA类是继承了org.zkoss.zul.Window
这样的话 不太清楚如果获得 request session
我写了一个范例index.zul
&window apply="ctrl.MyComposer2"&
&listbox id="listbox" mold="select" width="200px"/&
&toolbarbutton id="toolbarbutton" label="next"/&
MyComposer2.java
import org.zkoss.zk.ui.*;
import org.zkoss.zk.ui.util.GenericForwardC
import org.zkoss.zul.*;
public class MyComposer2 extends GenericForwardComposer {
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
String[] data = new String[10];
for (int i = 0; i & data. i++) {
data<i > = "item" +
listbox.setModel(new ListModelList(data));
listbox.setSelectedIndex(0);
public void onClick$toolbarbutton(){
session.setAttribute("result", listbox.getSelectedItem().getLabel());
execution.sendRedirect("result.zul");
result.zul
&window title="result" width="200px" border="normal"&
&label value="result = ${result}" /&
&toolbarbutton label="back" href="index.zul" /&
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
answer must be & 10 characters
Question tools
Seen: 1,557 times
Last updated: Mar 08 '10
Related questions
Please note: ZK Forum requires javascript to work properly, please enable javascript in your browser,
Email Support Training Consulting Outsourcingjs中变量和jsp中java代码中变量互相访问解决方案 - 周洋的博客
坚持其实很简单 - ITeye博客
博客分类:
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"); %&
&script type="text/javascript"&
var test1 = '111'; //定义js变量
document.form.test2.value = test1;
//将js变量的值放到form中的一个隐藏域中
var formObj = document.getElementById('passForm');
formObj.submit();
method="post" action="aa.jsp" id ="passForm"&
&input id = 'test2' type = 'hidden' name="test2"&
aa.jsp页面中的Java代码:
request.setCharacterEncoding("utf-8");
String txtMsg = request.getParameter("test2");
out.println(txtMsg);
注:如果同一个页面自己给自己传值,aa.jsp和bb.jsp可以为同一页面。
浏览 38578
这种方法局限性太大,每次都得前台与后台交互才能实现效果,如果只是单纯的想在 onClick 时将 JS 中的数据设置到 Session 中,那就不可行了…… 现在想想当时实现确实挺挫的。具体业务场景的折中实现而已,确实不适合分享。哈哈
我也知道这样子弄会把页面搞的很乱,无奈公司现在做的这个东西就拿jsp开发的。你说的很正确,我确实欠考虑引号的问题。因为当时我需要获取的就是数字和字符串。谢谢指正。
JSP的动态内容,JS可以得到Java变量。而利用通讯协议转化,和语言无关。
我只是开发中遇到js要获取java变量的问题,从而相处的表单提交的方法,如果你有更好的方法,欢迎提出来。具体问题具体分析,别的我也不想多说什么了。
浏览: 264605 次
来自: 杭州
谢谢,成功了,妈蛋,其它的全部是骗人了
网上方法太多,现在终于搞定了
还有一个原因,很容易被忽视,那就是可能仅仅只是你的JAVA程序 ...
我说的事技术目标jsp页面中java语句如何获取js变量的值 - ITeye问答
var rowdata=$('#cartTable').getRowData(ids[0]);
session.setAttribute("seller_id", rowdata.seller_id);
session.setAttribute("seller_name", rowdata.seller_name);
session.setAttribute("seller_person", rowdata.seller_person);
session.setAttribute("seller_phone", rowdata.seller_phone);
%&
报错了 因为rowdata是js中的变量 但是我要在java语句中将他的值赋给session 怎么办呢
引用报错了 因为rowdata是js中的变量 但是我要在java语句中将他的值赋给session 怎么办呢
你这样做是不行的,如果这个逻辑可行的话,那么完全可以代替ajax了,页面不刷新,即可设置java数据。
这个需求只能通过刷新页面或者ajax请求,或者另外开一个界面去完成。
下面说一下另开页面的做法:
主界面:
var rowdata=$('#cartTable').getRowData(ids[0]);
window.showModalDialog('setSession.jsp?seller_id='+rowdata.seller_id+'&seller_name='+rowdata.seller_name,null,'dialogHeight=200dialogWidth=200px');
打开界面setSession.jsp:
&%
String seller_id = request.getParameter("seller_id");
String seller_name = request.getParameter("seller_name");
session.setAttribute("seller_id", seller_id);
session.setAttribute("seller_name", seller_name);
你试一试这个,看看行不行?
将java代码放到js中
var rowdata=$('#cartTable').getRowData(ids[0]);
function setRowData(rowdata)
session.setAttribute("seller_id", rowdata.seller_id);
session.setAttribute("seller_name", rowdata.seller_name);
session.setAttribute("seller_person", rowdata.seller_person);
session.setAttribute("seller_phone", rowdata.seller_phone);
献一jstl实现,有点丑陋
&c:set var="seller_id" scope="session"&
&script&
&& document.write(rowdata.seller_id);
&/script&
已解决问题
未解决问题

我要回帖

更多关于 jsp获取java变量 的文章

 

随机推荐