易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

创建JSP自定义标签

在JSP编程中,Struts一般用来处理form和业务逻辑,Struts中使用了很多自定义标签,如html、bean等,但很多时候我们还是需要使用 "<% java code %>" 这样的语句来操作一些输出。为了减少这种代码,可以创建自定义标签。
     一个tag就是一个普通的java类,它唯一特别之处是它必须继承TagSupport或者BodyTagSupport类。这两个类提供了一些方法,负责jsp页面和你编写的类之间的交互,例如输入,输出。而这两个类是由jsp容器提供的,无须开发人员自己实现。换句话说,你只需把实现了业务逻辑的类继承TagSupport或者BodyTagSupport,再做一些特别的工作,你的类就是一个Tag。并且它自己负责和jsp页面的交互,不用你多操心。
下面介绍如何创建一个自定义标签。
一.编写java类继承TagSupport或TagSupport
1) 提供属性的set方法,
此后这个属性就可以在jsp页面设置。以jstl标签为例 <c:out value=""/>,这个value就是jsp数据到tag之间的入口。所以tag里面必须有一个setValue方法,具体的属性可以不叫value。例如setValue(String data){this.data = data;}
这个“value”的名称是在tld里定义的。取什么名字都可以,只需tag里提供 ......

用JSP来实现文件下载功能的几种方式

1.最直接最简单的,方式是把文件地址直接放到html页面的一个链接中。这样做的缺点是把文件在服务器上的路径暴露了,并且还无法对文件下载进行其它的控制(如权限)。这个就不写示例了。
2.在服务器端把文件转换成输出流,写入到response,以response把文件带到浏览器,由浏览器来提示用户是否愿意保存文件到本地。
3.既然是JSP的话,还有一种方式就是用Applet来实现文件的下载。不过客户首先得信任你的这个Applet小程序,由这个程序来接受由servlet发送来的数据流,并写入到本地。
Servlet端示例
public void service(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {
res.setContentType(\" text/plain \");
OutputStream outputStream = null;
try {
outputStream = res.getOutputStream();//把文件路径为srcFile的文件写入outputStream中
popFile(srcFile, outputStream)) ;
} catch (IOException e) {
e.printStackTrace();
}

JApplet端示例
URLConnection con;
try {
//url是被调用的SERVLET的网址 如 *.do
con=url.openConnection() ......

jsp文件上传浏览,支持ie 6,7,8

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../css/common.css" mce_href="css/common.css" type="text/css" />
<title>管理区域</title>
<mce:style type="text/css"><!--
#newPreview
{
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
}
--></mce:style><style type="text/css" mce_bogus="1">#newPreview
{
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
}</style>
<mce:script type="text/javascript" language="javascript"><!--
var flag=true; ......

JSP注释的一点区别

今天刚巧碰到和JSP注释有点关系的一个问题。所以做个笔记,说明一下显式注释<!-- comments --> 和隐式注释<%-- comments --%> 之间的两点差别。
 
曾经以为显式注释和隐式注释差别只有在代码显示上,这点应该大家都知道,显式注释会显示在客户端页面源码中,而隐式注释是看不到的,不过这只是第一点。
 
之所以发现了第二点差别,是因为碰到了一个问题。程序中的故事是这样的,a.jsp页面曾经include 了b.jsp,但是现在已经用<!-- -->把那段include注释掉了,而因为在b.jsp中出了一个NullPointerException,以至于打开a.jsp的时候报出 Error500,而且找不到明确的与a.jsp或者b.jsp相关的log。
经过2个小时的逐项排查,所幸的是找到了答案,并且了解了两种注释的另一点差别(重点在这里),即显式注释会被JSP引擎解释,就是说注释中的代码还是会去执行的,比如:<!-- 本文件的加载日期 <%= (new.java.util.Date()).toLocalString() %> --> 会显示当时的具体时间。而隐式注释是被完全忽略,JSP引擎直接就过滤。 ......

在JSP中下载文本文档

通常,我们需要提供一个文件下载的时候,仅需要一个超链接就可以解决。
 
比如exe文件,鼠标左键点击链接就会提示你直接执行还是保存,右键则可以直接另存为。。。
 
但是有一部分文件,比如txt等可以在浏览器中直接打开的文件,你只能用鼠标右键点击链接然后另存为的方式去保存该文件,如果直接点击左键,该文件就在浏览器中被打开了。
 
在一些需求中,我们需要让txt拥有exe文件类似的动作,即左键点击时也让它提示保存还是打开。
 
网上很多文章都提到用jspsmartupload去做这件事情,smartupload当然是个好东西,可以用的时候尽管用,但是它并不是必须的,我们在jsp中可以直接设置response的Header (Content-Disposition) 来达到目的。下面是整个过程:
 
1)首先你要提供一个下载的链接,或者button,如:
<a href="download.jsp">文件下载</a>
<button type="submit" onClick="window.open('download.jsp')">文件下载</button>
总之,需要有一个方法跳转到实现文件下载的jsp或者servlet中。
 
2)在download.jsp(或者实现同样功能的servlet)中,代码如下:
<%@ page contentType="text/html ......

JSP乱码问题相关

JSP中出现乱码,首先检查一下pageEncoding和contentType两个属性,两个属性的默认值都是ISO-8859-1
pageEncoding设置的是编译JSP时所用的编码,如果用默认的编码编译中文,那么在JSP编译阶段已经是乱码了。
contentType设置的是服务端范围给浏览器的显示编码,和页面上设置编码是一样的效果。 ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [6649] [6650] [6651] [6652] 6653 [6654] [6655] [6656] [6657] [6658]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号