java问题,哪位兄弟帮帮忙,先多谢了 本帖最后由 xiezhiyong3621 于 2011-09-23 14:52:05 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把参数存到session中 也不能取到? 框架其实应该是一个html吧,用js可以。 不行的,试过了,用js可以传过来,能读到。可是传一次就刷新了一次,c.jsp页面不能刷新的。 在页面跳转的时候,将参数放在地址后面传试试,url = "c.jsp?id="+id; 在B就算出tt(),再吧结果传递到C 有两种传值:第一种是url = "c.jsp?id="+id;,在c.jsp request.getParameter(id)获取,另一个深究是用session 你把流程说明白了,你那b.jsp刚一打开就要实例化test还是,点击b.jsp上的某个链接,实例化test的,什么时候实例化test,干着急没用,话得说明白楼 还是这位老兄细心。就是点击某个连接就传值给c.jsp。因为本人在做一个串口程序,所以,c.jsp是实例类打开串口。所以不能重复打开,那样就会报错。所以不能刷新。就是不知道怎样传值过来。无语了。 你的流程是不是这样的,首先点击b.jsp的一个连接,然后传一个值比如说A,然后经过一个方法,然后在带着A这个参数转向到c.jsp 然后例如说把A显示到c.jsp?这样么 差不多。就是要得到b.jsp传递过来的参数。 c不跳转就需要c中js去请求变量的变化,ajax定时请求服务器变量的值如果有变化,在dom中体现出来 lz如果session和jsp直接传值不行的话,我建议你用数据库来存值。 楼主 是什么框架?一般传值问题session request application page这些都能帮你解决 用的是html的框架:<FRAMESET cols=" *,130"> <FRAME name=main src="b.jsp" frameBorder=0 noResize scrolling=yes> <FRAME name=menu src="c.jsp" frameBorder=0 noResize></FRAMESET> <noframes></noframes> 如果你不刷新页面就想获得传值的话,应该就只能用ajax了,那会比较麻烦……要不然的话可以通过js传值,然后通过js代码处理你调用对象方法之后得出来的结果 楼主非的用iframe吗?什么样的工作有这样的需求啊? 呵呵,说的容易做得难。做的难,实际上也能做。在b.jsp中传递东西,到后台Servlet,把值存在Session中。c.jsp设置个定时器,每多少时间用ajax访问下后台Servlet,然后在Servlet取出Session中的值。但是这样也很有问题啊。定时器时间设置长了,在b.jsp传递的东西,不会立刻在c.jsp中显示,时间短了,效率又很差。 我简单做个,功能是实习了,但总觉的这样做不是很好,都是当大量用户并发访问时。a.jsp<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>A jsp</title></head><frameset cols="50%,50%"> <frame name=main src="${pageContext.request.contextPath }/jsp/b.jsp" frameBorder="0" noResize scrolling="yes" > <frame name=menu src="${pageContext.request.contextPath }/jsp/c.jsp" frameBorder="0" noResize ></frameset></html>b.jsp<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script type="text/javascript" src="${pageContext.request.contextPath }/jQuery/jquery.js"></script><script type="text/javascript"> function sendMessage(){ var message = document.getElementById("message").value;// 得到消息 var url = "${pageContext.request.contextPath }/servlet/ReceiveMessageServlet"; $.post(url,{message:message,flag:"b"},callback,"text"); } function callback(data){ }</script><title>B jsp</title></head><body> <form action="" method="post"> Message:<input type="text" size="30" id="message" name="message" /> <br /> <br /> <input type="button" value="Send Message" onClick="sendMessage();"/> </form></body></html>c.jsp<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script type="text/javascript" src="${pageContext.request.contextPath }/jQuery/jquery.js"></script><script type="text/javascript"> window.onload=function(){ var url = "${pageContext.request.contextPath }/servlet/ReceiveMessageServlet"; setInterval(function(){ $.post(url,{flag:"c"},callback,"text"); },2000); function callback(data){ var cmessage = document.getElementById("cmessage"); cmessage.value=data; } }</script><title>C jsp</title></head><body> <span>Message:</span><input type="text" id="cmessage" value="" size="20" /></body></html>web.xml<servlet> <servlet-name>receiveMessageServlet</servlet-name> <servlet-class>com.web.ReceiveMessageServlet</servlet-class> </servlet><servlet-mapping> <servlet-name>receiveMessageServlet</servlet-name> <url-pattern>/servlet/ReceiveMessageServlet</url-pattern> </servlet-mapping>后台Servletpublic class ReceiveMessageServlet extends HttpServlet{ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String flag = request.getParameter("flag");//主要判断是从b.jsp还是c.jsp过来的 HttpSession session = request.getSession(); if("b".equals(flag)){ // 从b.jsp过来 String message = request.getParameter("message");// 接收到前台数据message session.setAttribute("message", message); System.out.println("message="+message+" flag="+flag); }else if("c".equals(flag)){// 从c.jsp过来 PrintWriter out = response.getWriter(); String newMessage = (String)session.getAttribute("message"); out.print(newMessage); out.flush(); out.close(); } }} 高手,有在线吗,弱弱再问个问题,这个问题,我也解决了。可是最终的目的是在c.jsp页面里。有实例一个类。然后b.jsp传过来的参数,我在c.jsp里引用的。如b.jsp传过来的是"123456789",那么c.jsp页面实例一个类。如:Matter mt=new Matter();mt.Send(number);//number即为b.jsp传过来的123456789.//Send()类如果有数据就处理,没数据就不处理。你上面的那个方法,我试过是可行的。我用了一个html框架特有的方法也能实现这个功能:javascript:window.parent.menu.bb.bbb.value=aa.aaa.value;可能之前说的不够明白。希望高手再帮帮忙。多谢多谢啊。 发个有趣的问题给大家玩玩 Netbeans Ant配置错误? 关于字符串等的比较 applet的问题。 请教高手Myfaces中的visibleOnUserRole,enabledOnUserRole怎么用? 动态类型转换 请问在Windows xp下如何安装CVS并且如何配置 新手求教 关于java国际化的问题 一个简单的小问题!!! SwingWorker和周期性任务 请教下这个为什么会报java.io.EOFException,谢谢
一般传值问题
session request application page
这些都能帮你解决
<FRAMESET cols=" *,130">
<FRAME name=main src="b.jsp" frameBorder=0 noResize scrolling=yes>
<FRAME name=menu src="c.jsp" frameBorder=0 noResize>
</FRAMESET>
<noframes>
</noframes>
在b.jsp中传递东西,到后台Servlet,把值存在Session中。c.jsp设置个定时器,每多少时间用ajax访问下后台Servlet,然后在Servlet取出Session中的值。但是这样也很有问题啊。定时器时间设置长了,在b.jsp传递的东西,不会立刻在c.jsp中显示,时间短了,效率又很差。
a.jsp<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>A jsp</title>
</head>
<frameset cols="50%,50%">
<frame name=main src="${pageContext.request.contextPath }/jsp/b.jsp" frameBorder="0" noResize scrolling="yes" >
<frame name=menu src="${pageContext.request.contextPath }/jsp/c.jsp" frameBorder="0" noResize >
</frameset>
</html>b.jsp<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="${pageContext.request.contextPath }/jQuery/jquery.js">
</script>
<script type="text/javascript">
function sendMessage(){
var message = document.getElementById("message").value;// 得到消息
var url = "${pageContext.request.contextPath }/servlet/ReceiveMessageServlet";
$.post(url,{message:message,flag:"b"},callback,"text");
}
function callback(data){
}
</script>
<title>B jsp</title>
</head>
<body>
<form action="" method="post">
Message:<input type="text" size="30" id="message" name="message" />
<br />
<br />
<input type="button" value="Send Message" onClick="sendMessage();"/>
</form>
</body>
</html>c.jsp<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="${pageContext.request.contextPath }/jQuery/jquery.js">
</script>
<script type="text/javascript">
window.onload=function(){
var url = "${pageContext.request.contextPath }/servlet/ReceiveMessageServlet";
setInterval(function(){
$.post(url,{flag:"c"},callback,"text");
},2000);
function callback(data){
var cmessage = document.getElementById("cmessage");
cmessage.value=data;
}
}
</script>
<title>C jsp</title>
</head>
<body>
<span>Message:</span><input type="text" id="cmessage" value="" size="20" />
</body>
</html>web.xml<servlet>
<servlet-name>receiveMessageServlet</servlet-name>
<servlet-class>com.web.ReceiveMessageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>receiveMessageServlet</servlet-name>
<url-pattern>/servlet/ReceiveMessageServlet</url-pattern>
</servlet-mapping>后台Servletpublic class ReceiveMessageServlet extends HttpServlet{ @Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String flag = request.getParameter("flag");//主要判断是从b.jsp还是c.jsp过来的
HttpSession session = request.getSession();
if("b".equals(flag)){ // 从b.jsp过来
String message = request.getParameter("message");// 接收到前台数据message
session.setAttribute("message", message);
System.out.println("message="+message+" flag="+flag);
}else if("c".equals(flag)){// 从c.jsp过来
PrintWriter out = response.getWriter();
String newMessage = (String)session.getAttribute("message");
out.print(newMessage);
out.flush();
out.close();
}
}
}
如b.jsp传过来的是"123456789",那么c.jsp页面实例一个类。如:Matter mt=new Matter();
mt.Send(number);//number即为b.jsp传过来的123456789.//Send()类如果有数据就处理,没数据就不处理。你上面的那个方法,我试过是可行的。我用了一个html框架特有的方法也能实现这个功能:javascript:window.parent.menu.bb.bbb.value=aa.aaa.value;
可能之前说的不够明白。希望高手再帮帮忙。多谢多谢啊。