jsp经过处理jsp页面java代码输出后返回原jsp页面java代码输出输出代码怎么写

Java程序轻松输出到JSP页面
&Java程序中的输出一般都使用System.out.println()之类,然而对应使用JSP编程的朋友来说,想把Java程序中的输出打印到页面上,确实得费点劲了。目前本人所知的办法有三种:
1.使用字符串作为返回值
如果程序中的输出量不大的话,可以将输出部分存入一个变量,JSP中调用该Java函数得到返回的变量,并使用&%=returnParameter%&就可以了。
2.使用Servlet输出
相信大部分JSP编程的人都会想到Servlet来实现,重写doGet(HttpServletRequest
request,HttpServletResponse response)或doPost(HttpServletRequest
request,HttpServletResponse response),再使用
//Get output stream and
OutputStream out=response.getOutputStream();
PrintWriter pw=new PrintWriter(new BufferedWriter(new
OutputStreamWriter(out)));
//Print HTML
pw.println("&HTML&&HEAD&&TITLE&输出HTML标签&/HEAD&&/TITLE&&BODY&");
pw.println("输出程序中你想输出的部分");
pw.println("&/BODY&&/HTML&");
pw.flush();
pw.close();
注:这种方法对应熟悉Servlet的人来说无疑是首先想到和通常使用的,但是如果Java程序需要从Jsp页面传参数进去,而且如果参数很复杂,比如是二维数组或者更复杂的东西,这个参数的传递路线:JSP-&SERVLET-&doGet()/doPost()-&yourMethod(int[][],String[][])???似乎很复杂,而且不好实现。
3.使用JSP对象JspWriter
别忘了,Jsp还有一个叫做JspWriter的对象,只有在你的Java方法的参数中多传一个JspWriter
mout,然后把程序中需要输出的部分从System.out.print改成mout.print就可以了!但是通常会提示有未处理的异常,因为我们只是单纯的输出,如果懒得管就直接把“IOException”
掉吧。注意此时,println()的换行对于Jsp页面可是无效的,所以如果你要实现换行的话,需要使用mout.print("&br&");才能实现哦。另外,需要在程序开始必须加入这条语句"import
javax.servlet.jsp.JspW"。
Jsp页面中调用可以使用:
&%&&JspWriter
mout=pageContext.getOut();
&&&&youMethod(……,mout);%&
这样,你的Java方法中所写的输出就直接输出到页面上去了,而不再是tomcat之类的服务器控台上。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。jsp页面中如何加一个返回按钮?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
jsp页面中如何加一个返回按钮?
value=&重新填写& styleClass=&input& styleClass=&quot:submit
value=& &&确定提交&input&&#47&html
比如:&input type=&button& value=&去B页面& onclick=&javascript:window.location.href ='B.jsp';&&&input type=&button& value=&返回A页面& onclick=&javascript:history.go(-1);&&
采纳率:87%
来自团队:
&&/span&&&#47&body&
&p&/body&&/ &back&/&
&Button id=&select&
onclick=&html&gt.back(1);button&gt:history
本回答被提问者和网友采纳
&button& value=&reset&quot&input type=&quot
你用js控制返回不可以吗
你说的是动态添加一个控件是吧?那你应该学一学DOM模型,用javaScript动态生成一个HTML组件
可以给我一些教程吗
你去百度搜一搜就有了,我也是自学的
有问题我就继续请教你啊
有问题先百度,谢谢
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
jsp的相关知识
换一换
回答问题,赢新手礼包Javascript实现返回上一页面并刷新的小例子
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Javascript实现返回上一页面并刷新的小例子,有需要的朋友可以参考一下
今天写了一个小小的提示成功的页面,同时要求返回上一页面,并实现对上一页面的操作进行刷新(例如删除的,添加的),在网上搜寻了一遍,基本上90%的都是说的是用window.history.go(-1), 或者是用 window.history.back(-1), 还有的说子页面刷新父页面用
代码如下:&script language=JavaScript&
&&& self.opener.location.reload();
经过在JSP页面的测试,在操作页面选中添加的项经过点击按钮保存再跳转到成功提示页面返回后发现都没有刷新,手动刷新后才显示出来,对于那些粘贴复制技术不经过测试的文章实在是伤心透顶。
其实对于这个技术,我并没有找到完全依赖JS能实现,有个思路就是使上一页不被缓存,每次读取出来就行了(别人的思路,具体我也没有搞懂原理)
JSP的实现方法如下:
&Reply-text mb10代码
代码如下:&SPAN style="FONT-SIZE: 18 BACKGROUND-COLOR: #ffffff"&&SPAN style="FONT-FAMILY: 'Microsoft YaHei'; COLOR: #3333ff"&&STRONG&&%String rec = request.getHeader("REFERER");%&&& &&& &input type="button" onclick="javascript:window.location='&%=ref%&'"&&& &/STRONG&&/SPAN&&/SPAN&& &%String rec = request.getHeader("REFERER");%&&&& &input type="button" onclick="javascript:window.location='&%=ref%&'"&
ASP页面的实现方法如下:
代码如下:&%'获取上一页的地址&address = request.ServerVariables("HTTP_REFERER")%&&!--window.location有返回相对页面并且刷新的作用--&&a href="javascript:window.location.href='&%=address%&'" style="cursor:hand"&返回&/a&
Reply-text mb10代码
代码如下:&SPAN style="FONT-SIZE: 18 BACKGROUND-COLOR: #ffffff"&&SPAN style="FONT-FAMILY: 'Microsoft YaHei'; COLOR: #3333ff"&&STRONG&.在servlet中&& &&& request.getRequestDispatcher(request.getHeader("referer")).forward(request,response);&& &&& 或者&& &&& request.getRequestURL();&& &/STRONG&&/SPAN&&/SPAN&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具如何使JSP页面表单发送至Servlet处理后返回原JSP页面,同时把返回结果显示在表单下面?_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
如何使JSP页面表单发送至Servlet处理后返回原JSP页面,同时把返回结果显示在表单下面?
JSP页面为MyJsp.jsp,处理其表单请求的Servlet为Progress.java...我在Progress.java用request.getRequestDispatcher(&/MyJsp.jsp&).forward(request, response);返回原页面MyJsp.jsp,此时界面显示MyJsp.jsp的界面,但是浏览器地址栏里的url却是Progress.java...
我有更好的答案
那它就显示Progress.if(formtoken.equals(token)){&&=&UUID;&);do&&%String&token&nbsp.removeAttribute(&quot,token);%&gt你访问了Progress.java这个servlet然后forward到MyJ,&&);&&&&session.setAttribute(&quot.randomUUID().toString();formtoken&&value=&&%=token%&&]]HttpSession&session&String&nbsp,如果你的servlet配置的url名字叫Progress.java,地址栏会出现你的servlet url名字.println(&type=&hidden&&name=&=&request.getSession();).getAttribute(&token&quot.java。要防止重复提交,你可以用客户端的JavaScript来解决或者用服务器端的session来解决。&somthing&&token&=&请不要重复提交;(String)session!&token&;token&);}else{&&&&response.getWriter();&input&//&nbsp.replaceAll(&-&quot
采纳率:66%
来自团队:
为您推荐:
其他类似问题
servlet的相关知识
换一换
回答问题,赢新手礼包将后台输出动态打输出到前台并且显示 - ITeye问答
我想把如:
for(int i,i&1000,i++)
System.out.println("内容")
这段代码会输出1000个“内容”,我想把它输出的内容实时的返回给ie并且显示。也就是说客户端调用一个action然后action会在控制台中打印1000个“内容”,我想要的就是:把这打印1000个“内容”显示的过程放到ie上去!就是我想让ie变成和控制台一样!可以打印后台的输出,而且是实时的!
用什么技术,或者是什么办法告诉我就行!有代码最好了!先谢谢各位了!
问题补充:我的意思是实时动态的这样还是静态的啊!必须得等后台执行完毕,前台才能显示的 啊!!!!高级java工程师 写道你把放进request中,页面从request获取,你操作页面的时候就会执行
for(int i,i&1000,i++)
System.out.println("内容")
System.out.println("内容")他会被调用,打印
问题补充:嗯!AngelAndAngel 写道我懂你意思了,你用dwr吧,在你action里面打印的时候,调用dwr的方法,可以在你指定的jsp中,打印出任何东西。你搜dwr反推技术。我这有例子,但是太大,没有剥离,等你下载了dwr后不懂的再说
问题补充:后台输出了一条但是你取了两次这样你就会得到两条相同的数据了,所以这个方法不可行!呵呵,但还是谢谢了!FAvril 写道我只想到一个比较粗略的
前台用一个定时器隔一小小段时间发Ajax请求到后台,然后将请求的内容打印
问题补充:感谢大家的回答:
问题已经解决了:
如下:
服务器代码:
package JS
import java.io.BufferedR
import java.io.BufferedW
import java.io.IOE
import java.io.InputStreamR
import java.io.OutputStreamW
import java.io.PrintW
import java.net.ServerS
import java.net.S
import java.util.ArrayL
import java.util.L
import java.util.concurrent.ExecutorS
import java.util.concurrent.E
public class Server {
private static final int PORT = 3000; // 端口号
private static List&Socket& list = new ArrayList&Socket&(); // 保存连接对象
private ExecutorS
private ServerS
public static void main(String[] args) {
new Server();
public Server() {
server = new ServerSocket(PORT);
exec = Executors.newCachedThreadPool();
System.out.println("服务器已启动!");
Socket client =
while (true) {
client = server.accept(); // 接收客户连接
list.add(client);
exec.execute(new ChatTask(client));
} catch (IOException e) {
e.printStackTrace();
static class ChatTask implements Runnable {
private BufferedR
private String msg="";
private String msg1="";
public ChatTask(Socket socket) throws IOException {
this.socket =
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
public void run() {
new Thread(new Runnable() {
public void run() {
pw = new PrintWriter(socket.getOutputStream(), true);
while(true){
msg="&cross-domain-policy&&allow-access-from domain=\"" + "*" + "\" to-ports=\"3000\"/&&/cross-domain-policy&\0";
msg1=i+"你好!";
if(i==0){//如果客户端是第一次访问服务器那么发送,安全策略允许文件,这必须的否则其余的免谈
pw.println(msg);
pw.flush();
else{//向客户端发送数据
pw.println(msg1);
pw.flush();
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}).start();
}
}
客户端代码:
&?xml version="1.0" encoding="utf-8"?&
&s:Application xmlns:fx="/mxml/2009"
&& xmlns:s="library:///flex/spark"
&& xmlns:mx="library:///flex/mx" minWidth="955" minHeight="600" applicationComplete="init()"&
&fx:Script&
import mx.controls.A
import mx.rpc.events.FaultE
import mx.rpc.events.ResultE
import mx.rpc.http.HTTPS
private var socket:Socket=new Socket();
[Bindable]
public var ip:S
[Bindable]
public var port:
private function init():void{
getIpPort();
private function getIpPort():void{
var configService:HTTPService=new HTTPService();
configService.url="config.xml";
configService.resultFormat="e4x";
configService.addEventListener(ResultEvent.RESULT, configResult);
configService.addEventListener(FaultEvent.FAULT, configFault);
configService.send();
private function configResult(event:ResultEvent):void
var xml:XML=event.result as XML;
this.ip=xml.
this.port=xml.
ConncetServer();
//config fault
private function configFault(event:mx.rpc.events.FaultEvent):void
Alert.show("load config.xml false!");
private function ConncetServer():void
socket.addEventListener(ProgressEvent.SOCKET_DATA,OnReceived);
socket.addEventListener(Event.CONNECT , onConnected);
socket.addEventListener(Event.CLOSE, closeHandler);
socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
socket.addEventListener(ProgressEvent.PROGRESS, progressHandler);
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
this.socket.connect(this.ip,this.port);
private function closeHandler(event:Event):void
Alert.show("socket is close!");
private function ioErrorHandler(event:IOErrorEvent):void
Alert.show("socket ioError!");
private function progressHandler(event:ProgressEvent):void
trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
private function securityErrorHandler(event:SecurityErrorEvent):void
trace("securityErrorHandler: " + event);
private function onConnected(event:Event):void
Alert.show("socket connect success!");
private function Send():void
socket.send("message from flex");
private function OnReceived(event:ProgressEvent):void
var receive:String=socket.readMultiByte(socket.bytesAvailable,"UTF-8");
ExternalInterface.call("addValue",receive);
&/fx:Script&
&/s:Application&
js代码:
&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&
&%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%&
&!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/ charset=utf-8"&
&title&jsocketTest&/title&
&script type="text/javascript"
src="&%=basePath%&jsocketTest/JSocket/jSocket.js"&&/script&
&/head&
&body&
&script type='text/javascript'&
function addValue(value) {
//alert(value);
mySocket.innerHTML += value+"&br/&";
&div id='mySocket' /&&/div&
&&& &object classid="clsid:D27CDB6E-AE6D-11cf-96B8-" width="300" height="300" id="topFlash"/&
&&&&&&& &param name="movie" value="bin-debug/SocketTest.swf" /&
&&&&&&& &param name="quality" value="high" /&
&&&&&&& &param name="bgcolor" value="#ffffff" /&
&&&&&&& &param name="allowScriptAccess" value="sameDomain" /&
&&&&&&& &param name="allowFullScreen" value="true" /&
&&&&&&& &!--[if !IE]&--&
&&&&&&& &object type="application/x-shockwave-flash" data="bin-debug/SocketTest.swf" width="100%" height="100%"&
&&&&&&&&&&& &param name="quality" value="high" /&
&&&&&&&&&&& &param name="bgcolor" value="#ffffff" /&
&&&&&&&&&&& &param name="allowScriptAccess" value="sameDomain" /&
&&&&&&&&&&& &param name="allowFullScreen" value="true" /&
&&&&&&& &!--&![endif]--&
&&&&&&& &!--[if gte IE 6]&--&
&&&&&&&
Either scripts and active content are not permitted to run or Adobe Flash Player version
&&&&&&&
10.0.0 or greater is not installed.
&&&&&&&
&/p&
&&&&&&& &!--&![endif]--&
&&&&&&&&&&& &a href="/go/getflashplayer"&
&&&&&&&&&&&&&&& &img src="/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" /&
&&&&&&&&&&& &/a&
&&&&&&& &!--[if !IE]&--&
&&&&&&& &/object&
&&&&&&& &!--&![endif]--&
&&& &/object&
&/body&
&/html&
js代码中的swf文件是flexbuilder编译之后的文件,这个要怎么弄到稍微会点flex应该就能明白了!不多说了!
在网上找了这个叫服务器反推技术:具体实现的方式不一样,我用的是java作为tcp/ip服务器,flash作为客户端接收,然后flash和js通信达到可以将服务器的数据反推到html中的目的!有很多问题以上的代码都应该解决了!
遇到问题:
flash安全策略问题!
数据乱码问题!
再次感谢大家!
采纳的答案
我懂你意思了,你用dwr吧,在你action里面打印的时候,调用dwr的方法,可以在你指定的jsp中,打印出任何东西。你搜dwr反推技术。我这有例子,但是太大,没有剥离,等你下载了dwr后不懂的再说
你需要的是服务端推送技术
可以看看这个
/topic/841554
List list="内容";
request.setAttribute("list",list)
&% List list=request.getAttribute(list);
for(int i,i&1000,i++){
out.print(list.get(i))
我只想到一个比较粗略的
前台用一个定时器隔一小小段时间发Ajax请求到后台,然后将请求的内容打印
后台:
List list="内容";
request.setAttribute("list",list)
&% List list=request.getAttribute(list);
&& for(int i,i&1000,i++){
&& out.print(list.get(i))
}
%&
后台:
List list="内容";
request.setAttribute("list",list)
&% List list=request.getAttribute(list);
&& for(int i,i&1000,i++){
&& out.print(list.get(i))
}
%&
你把放进request中,页面从request获取,你操作页面的时候就会执行
for(int i,i&1000,i++)
System.out.println("内容")
System.out.println("内容")他会被调用,打印
已解决问题
未解决问题}

我要回帖

更多关于 jsp登录页面代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信