应用JSP,XML和CSS技术实现弹出式菜单的工程框架。
综合采用JSP,JavaBean,XML,XSL,CSS,JavaScript多项技术的优点。
在JSP中使用XML文档,XML定义数据格式,在JSP中直接生成XML文件,它与JavaBean交互,JavaBean负责读取存储菜单项的文件。
XSL实现XML到HTML的转化,CSS文件负责样式单的定义,而JavaScript定义菜单的交互方式,他们彼此独立。
如果需要改变菜单的内容,修改存放菜单内容的文件;
如果需要改变菜单的格局,修改.xsl文件;
如果需要改变菜单的外观,修改.css文件;
如果需要改变用户的交互方式,修改.js文件。
这些模块相互独立,修改一个不会影响整个程序的运行。
......
应用JSP,XML和CSS技术实现弹出式菜单的工程框架。
综合采用JSP,JavaBean,XML,XSL,CSS,JavaScript多项技术的优点。
在JSP中使用XML文档,XML定义数据格式,在JSP中直接生成XML文件,它与JavaBean交互,JavaBean负责读取存储菜单项的文件。
XSL实现XML到HTML的转化,CSS文件负责样式单的定义,而JavaScript定义菜单的交互方式,他们彼此独立。
如果需要改变菜单的内容,修改存放菜单内容的文件;
如果需要改变菜单的格局,修改.xsl文件;
如果需要改变菜单的外观,修改.css文件;
如果需要改变用户的交互方式,修改.js文件。
这些模块相互独立,修改一个不会影响整个程序的运行。
......
public static List getPageUser(int currentPage) throws Exception {//?List
Connection conn = null;
PreparedStatement prep = null;
ResultSet rs = null;
List result = new ArrayList();// 接口 List<E>, 此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
public class ArrayList<E>extends AbstractList<E>implements List<E>, RandomAccess, Cloneable,SerializableList 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。
try {
conn = new DBConnection().getConnection();
......
Tomcat将jsp编译成servlet后的文件存放在\work\Catalina目录下,例如jsp文件\webapps\hh\h.jsp,编译后
\work\Catalina\localhost\hh\org\apache\jsp\h_jsp.java
servlet文件和.class文件都在同一目录下。
控制台报的异常行数是指编译过后的servlet文件,而不是你原来的jsp文件! ......
在开发过程出现这么一个问题:
比如:一个字段content 类型CLOB,这其中存的有可能复制粘贴过来的word excel html中的内容,用java将这些内容存入,存入后有特殊的符号 比如回车换行等。那么不能正常展示的数据。
解决方案:
存入数据的是将这个数据contentdata在js中进行
String(contentdata).replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, """);
html标签编译处理(此处引用在Ext.util.Format.htmlEncode ,如果是ext数据提交直接Ext.util.Format.htmlEncode(contentdata))
在后台用提交用
Context initCtx = new InitialContext(); DataSource ds = (DataSource)JNDIUtil.lookup(initCtx) ;
Connection conn = ds.getConnection();
PreparedStatement ps=conn.prepareStatement("insert...values(?...)"),
ps.setObject(5,contentdata)
......
jsp中展示:sql语 ......
在开发过程出现这么一个问题:
比如:一个字段content 类型CLOB,这其中存的有可能复制粘贴过来的word excel html中的内容,用java将这些内容存入,存入后有特殊的符号 比如回车换行等。那么不能正常展示的数据。
解决方案:
存入数据的是将这个数据contentdata在js中进行
String(contentdata).replace(/&/g, "&").replace(/>/g, ">").replace(/</g, "<").replace(/"/g, """);
html标签编译处理(此处引用在Ext.util.Format.htmlEncode ,如果是ext数据提交直接Ext.util.Format.htmlEncode(contentdata))
在后台用提交用
Context initCtx = new InitialContext(); DataSource ds = (DataSource)JNDIUtil.lookup(initCtx) ;
Connection conn = ds.getConnection();
PreparedStatement ps=conn.prepareStatement("insert...values(?...)"),
ps.setObject(5,contentdata)
......
jsp中展示:sql语 ......
首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的。
而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。
开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点。当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了。但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。
我在这里这里用的技术是jsp,其实asp,php等也是一样可以这么实现的
一共两个文件就可实现:index.html 和 upload.jsp,在这里讲解一下,文后会附上源码
--index.html
html 代码
<html>
<body>
<form action="upload.jsp" id="form1" name="form1" encType="multipart/form-data" method="post ......
首先要说的就是 ajax 是无法实现上传文件的,可以想一下ajax与后台通信都是通过传递字符串,怎么能传递文件呢?其实出于安全考虑js是不能操作文件的,所以就不要再说用ajax来实现文件的上传了,这是不可能的。
而本文实现的文件上传也是无页面刷新的,可以说是一种"类似AJAX"方法。
开始之前先说两句无关的,其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点。当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了。但是用iFrame来实现无刷新上传文件确实一个很好的选择。ps:Ajax技术基本上可以说是由google公司带起来的,但少Gmail中上传文件用的还是 IFrame,所以说使用IFrame来上传文件是最好的选择。
我在这里这里用的技术是jsp,其实asp,php等也是一样可以这么实现的
一共两个文件就可实现:index.html 和 upload.jsp,在这里讲解一下,文后会附上源码
--index.html
html 代码
<html>
<body>
<form action="upload.jsp" id="form1" name="form1" encType="multipart/form-data" method="post ......
在web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,有时许多word文档保存到数据库中的某个表的Blob字段里,服务器再把保存在Blob字段中的图片文件展现给用户。通过网上查找发现很少有关于此类的文章,现在整理起来供大家参考。
1 在client端直接生成word文档
在jsp页面上生成word文档非常简单,只需把contentType=”text/html”改为contentType="application/msword; charset=gb2312"即可,代码如下:
<%@ page contentType="application/msword; charset=gb2312" %>
通过设置可以使原来页面的内容在word中表现出来。
如果需要把word文档下载下来,只需在jsp页面上面加上如下代码:
<%
response.setHeader("Content-Disposition", "attachment;filename=filename.doc");
%>
其中filename.doc中filename是要下载的word文档的文件名,可以通过<%=docName%>来自行定制,如下
<%
response.setHeader("Content-Disposition", "attachment;filename=<%=docName% ......