导航:首页 > 版本升级 > struts文件在线预览

struts文件在线预览

发布时间:2021-12-09 06:45:21

1. 阅读struts2文档

呵呵,有些文档是这样的,可以重下一个,也不大,前面几章都是基础和比较,像OGNL这一章要提上来先学,他的例子中用到了很多,要不然会看不懂。
拦截器和转换器,用到了国际化的例子,你可以先把国际化那几章看完,当然,国际化里面用到了OGNL的知识。
你可以大体扫一遍,知道有什么内容,在调节这看,呵呵,慢慢来吧,struts2是个非常方便的框架

2. 怎样将用struts2 jsp 将word文档展现在网页上,而且不需要选在是否保存 下载

一、把jsp页面数据复制到word文档

var table=document.getElementByIdx_x('printTable');
row=table.rows.length;
column=table.rows(1).cells.length;

var word = new ActiveXObject("Word.Application");
word.Application.Visible = true;
word.Selection.Text ="<%=reportTitle%>";
var mydoc=word.Documents.Add('',0,0);
myRange =mydoc.Range(0,1);
var sel=document.body.createTextRange();
sel.moveToElementText(table);
sel.select();
sel.execCommand('Copy');
myRange.Paste();

二、把jsp页面数据写入word文档

var table=document.getElementByIdx_x('printTable');

row=table.rows.length;

column=table.rows(1).cells.length;

var wdapp=new ActiveXObject("Word.Application");

wdapp.visible=true;

wddoc=wdapp.Documents.Add(); //添加新的文档

thearray=new Array();

//将页面中表格的内容存放在数组中

for(i=0;i<row;i ){

thearray[i]=new Array();

for(j=0;j<column;j ){

thearray[i][j]=table.rows(i).cells(j).innerHTML;

}

}

var range = wddoc.Range(0,0);

range.Text="<%=reportTitle%>" " ";

wdapp.Application.Activedocument.Paragraphs.Add(range);

wdapp.Application.Activedocument.Paragraphs.Add();

rngcurrent=wdapp.Application.Activedocument.Paragraphs(3).Range;

var objTable=wddoc.Tables.Add(rngcurrent,row,column) //插入表格

for(i=0;i<row;i ){

for(j=0;j<column;j ){

objTable.Cell(i 1,j 1).Range.Text = thearray[i][j].replace("","");

}

}

三jsp生成word,excle,pdf

在web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,有时许多word文档保存到数据库中的某个表的Blob字段里,服务器再把保存在Blob字段中的图片文件展现给用户。通过网上查找发现很少有关于此类的文章,现在整理起来供大家参考。

1 在client端直接生成word文档
在jsp页面上生成word文档非常简单,只需把contentType=”text/html”改为contentType="application/msword; charset=gb2312"即可,代码如下:

通过设置可以使原来页面的内容在word中表现出来。
如果需要把word文档下载下来,只需在jsp页面上面加上如下代码:

其中filename.doc中filename是要下载的word文档的文件名,可以通过来自行定制,如下
.doc");
%>
这样提供一个提示信息供用户选择如下图所示
小技巧:如果程序员需要在生成word文档的时候按照自己预先在word上设计好的格式,可以复制word格式然后粘贴到frontpage中,取html代码贴到jsp页面即可。

2 在客户端输出存在数据库中的word实体
这里只讨论在client输出oracle中BLOB字段中的word文档实体。其中调用了类getBlobBean,该类提供了从oracle中取出blob功能,代码如下:
package yourpackage;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import oracle.sql.*;
import beans.yourbeanpackage. getBlobBean;

public class GetBlobServlet1 extends HttpServlet {
//设置输出内容类型,这个设置很重要,否则客户端浏览器不能识别输出内容,导致弹出下载的对话框。
private static final String CONTENT_TYPE = "application/msword;charset=gb2312";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
perform(request,response);
}
public void perform(HttpServletRequest request, HttpServletResponse response){
try{
//该类功能是从oracle哭中取出blob实体
getBlobBean getBlob=new getBlobBean();
OutputStream sos = response.getOutputStream();
getBlob.connFunction();
oracle.sql.BLOB blob=getBlob.getBlob("cehui");
//输出word文档
if(blob!=null){
InputStream pi = blob.getBinaryStream();
int blobsize =(int)blob.length();
byte[] blobbytes = new byte[blobsize];
int bytesRead = 0;
while ((bytesRead = pi.read(blobbytes)) != -1) {
sos.write(blobbytes, 0, bytesRead);
}
pi.close();
sos.flush();
sos.close();
}
getBlob.dropConnFunction();
}catch(Exception e){
System.out.println(e.toString());
}
}
//Clean up resources
public void destroy() {
}
}

3 在client端直接生成EXCEL文档
生成例子excel 。 用WORD排版面,倒出HTML 把代码拷贝到网页里,然后这个JSP页面打印你就随心所欲的控制了。

4 在client端直接生成PDF文档
需要下载JAR包:以下代码在JDK1.4 RESIN2.16 下测试通过

ITEXT包 http://mesh.dl.sourceforge.net/sourceforge/itext/itext-1.3.5.jar
字体包http://itext.sourceforge.net/downloads/iTextAsian.jar

JSP生成到客户IE端直接打开
ie_PDF.jsp

-------------------------------

在服务器端生成不下载。
server_PDF.jsp

使用iText可以设置文字的字体,对于我们中国的程序员来说如何显示中文是最紧要的问题。幸好iText中有一个专门的包用来设置亚洲国家的字体你可以从http://itext.sourceforge.net/downloads/iTextAsian.jar下载这个包。然后把它直接放到你的ClassPath中就可以了。如何设置字体呢?

BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

Font FontChinese = new Font(bfChinese, 12, Font.NORMAL);

在上面的代码中设置了中文字体的显示,你只要使用下面的代码就可以包中文加到PDF中了

String title = "我爱喝咖啡";

Paragraph t = new Paragraph(title, FontChinese);

doc.add(t);

3. java web中的struts.xml文件的文件开头,在官方主页的哪里可以找到

如果你想知道头文件怎么写:解压下载的Struts2压缩包,找到apps文件夹下的Struts-blank.war,解压,然后可以在web-info/classes找到struts.xml的模板
如果你想知道.dtd文件在哪儿:解压struts-core.jar就可以看到了。

还有,作为一个初学者,这些问题请学会用搜索引擎,而不是坐着等别人来回答,浪费自己的时间。。。

4. jsp有办法实现word/excel的在线预览吗

1.jsp页面
<s:form action="fileAction" namespace="/file" method="POST" enctype="multipart/form-data">
<!-- name为后台对应的参数名称 -->
<s:file name="files" label="file1"></s:file>
<s:file name="files" label="file2"></s:file>
<s:file name="files" label="file3"></s:file>
<s:submit value="提交" id="submitBut"></s:submit>
</s:form>
2.Action
//单个文件上传可以用 File files,String filesFileName,String filesContentType
//名称要与jsp中的name相同(三个变量都要生成get,set)
private File[] files;
// 要以File[]变量名开头
private String[] filesFileName;
// 要以File[]变量名开头
private String[] filesContentType;

private ServletContext servletContext;

//Action调用的上传文件方法
public String execute() {
ServletContext servletContext = ServletActionContext.getServletContext();
String dataDir = servletContext.getRealPath("/file/upload");
System.out.println(dataDir);
for (int i = 0; i < files.length; i++) {
File saveFile = new File(dataDir, filesFileName[i]);
files[i].renameTo(saveFile);
}
return "success";
}
3.配置上传文件临时文件夹(在struts.xml中配置)
<constant name="struts.multipart.saveDir" value="c:/temp"/>
文件下载
1.下载的url(到Action)
<a href="${pageContext.request.contextPath}/file/fileAction!down.action">下载</a>
2.struts.xml配置
<package name="file" namespace="/file" extends="struts-default">
<action name="fileAction" class="com.struts2.file.FileAction">
<!-- 下载文件配置 -->
<!--type 为 stream 应用 StreamResult 处理-->
<result name="down" type="stream">
<!--
不管实际类型,待下载文件 ContentType 统一指定为 application/octet-stream
默认为 text/plain
-->
<param name="contentType">application/octet-stream</param>
<!--
默认就是 inputStream,它将会指示 StreamResult 通过 inputName 属性值的 getter 方法,
比如这里就是 getInputStream() 来获取下载文件的内容,意味着你的 Action 要有这个方法
-->
<param name="inputName">inputStream</param>
<!--
默认为 inline(在线打开),设置为 attachment 将会告诉浏览器下载该文件,filename 指定下载文
件保有存时的文件名,若未指定将会是以浏览的页面名作为文件名,如以 download.action 作为文件名,
这里使用的是动态文件名,${fileName}, 它将通过 Action 的 getFileName() 获得文件名
-->
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<!-- 输出时缓冲区的大小 -->
<param name="bufferSize">4096</param>
</result>
</action>
</package>
3.Action
//Action调用的下载文件方法
public String down() {
return "down";
}

//获得下载文件的内容,可以直接读入一个物理文件或从数据库中获取内容
public InputStream getInputStream() throws Exception {
String dir = servletContext.getRealPath("/file/upload");
File file = new File(dir, "icon.png");
if (file.exists()) {
//下载文件
return new FileInputStream(file);

//和 Servlet 中不一样,这里我们不需对输出的中文转码为 ISO8859-1
//将内容(Struts2 文件下载测试)直接写入文件,下载的文件名必须是文本(txt)类型
//return new ByteArrayInputStream("Struts2 文件下载测试".getBytes());
}
return null;
}

// 对于配置中的 ${fileName}, 获得下载保存时的文件名
public String getFileName() {
String fileName ="图标.png";
try {
// 中文文件名也是需要转码为 ISO8859-1,否则乱码
return new String(fileName.getBytes(), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
return "icon.png";
}
}

5. 如何查看struts上传的文件

图片查看<img src="" /> 文本类的,可以直接查看!至于pdf,如果你说的是类似网络文库的效果,那是有js插件的,这个需要自己写的。如果不是的话!你这样<a href="aa.pdf">帮助</a>在火狐浏览器上你看到pdf内容,IE浏览器被默认为下载。

6. 如何在jsp中预览struts上传的图片

<%@pagelanguage="java"contentType="text/html;charset=utf-8"
pageEncoding="utf-8"%>
<%@taglibprefix="s"uri="/struts-tags"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Inserttitlehere</title>
</head>
<scripttype="text/javascript">
//显示图片的js
functionviewimg(){
varimgup=document.getElementById("uploadimg");
varimgpath=getPath(imgup);
//判断是否是图片格式
varimgname=imgup.value.substring(imgup.value.lastIndexOf("."),imgup.value.length)
imgname=imgname.toLowerCase()
if((imgname!='.jpg')&&(imgname!='.gif')&&(imgname!='.jpeg')&&(imgname!='.png')&&(imgname!='.bmp')){
alert("请选择图片文件,谢谢!");
imgup.focus();
//清空file里面的值
imgup.select();
document.selection.clear();

}
else{
//显示图片
document.getElementById("sig_preview").innerHTML="<imgsrc='"+imgpath+"'border=0width=100height=60>"
}
}
//该函数解决iE下路径问题。兼容ie6,7,firefoxaddbyexceljava2010-1-6
functiongetPath(obj){
if(obj){
if(window.navigator.userAgent.indexOf("MSIE")>=1){
obj.select();
returndocument.selection.createRange().text;
}elseif(window.navigator.userAgent.indexOf("Firefox")>=1){
if(obj.files){
returnobj.files.item(0).getAsDataURL();
}
returnobj.value;
}
returnobj.value;
}
}</script>
<body>
<s:formaction="fileUpload"namespace="/fileUploadDemo"method="POST"enctype="multipart/form-data">
<s:fileid="uploadimg"size="40"name="upload"onchange="viewimg()"></s:file>
<s:submit/>
</s:form>

<!--显示的div-->
<divid="sig_preview"></div>
</body>
</html>

7. struts2 action 用浏览器打开变下载文件

struts.xml里面设置有.ation、*、.do三种形式,好久没搞java了,只记得有这种配置。

8. struts2如何实现word文档的在线预览功能

刚开始工作,交给了一个文件管理的功能,大体上是上传,下载,在线预览文件。其中的上传下载都可以了,但是这个在线预览确实很头疼,不会做。经理说的那个意思好像是:不用直接下载,当你点击查看的时候,会弹出一个word文档,当然这个word文档时不会被存放到本地上的。

9. struts2文件上传和下载

1,上传方法
(1),页面form表单添加一个属性为enctype="multipart/form-data" 和method="post"

(2),假设上传预览框为 <input type="file" name="myfile" />
(3),控制器接值的方法为
private File myfile; //要上传的文件

private String myfileFileName; //要上传文件名称
private String myfileContentType; //要上传文件类型
别忘了做set方法

(4), 接到值后可以保存到数据库,也可以保存到硬盘,
>>1 保存到数据库, 数据库表中对应字段要设置为BLOB类型

>>2 保存到硬盘代码如下

InputStream in = new
FileInputStream( myfile);
OutputStream out = new
FileOutputStream( new File("d:\\upload\\"+myfileFileName));
byte[] buffer
= new byte[ in.available() ];
int ins =
in.read(buffer);//读取字节到buffer中
//ins == -1 时
。就已经是文件的结尾了
while ( ins !=
-1 ) {
out.write(buffer, 0, ins);//将缓存buffer中的数据写到文件中
ins = in.read(buffer);
}

in.close();
out.flush();
out.close();
2,下载
(1), 把要下载的文件转成一个输入流InputStream
例如,利用hibernate取得一个文件,文件类型在实体类中为byte[]类型,

inputStream = new
ByteArrayInputStream(book.getMyfile);
其中inputStream 为全局变量,并且做setter和getter方法
(2),在控制器对应的action节点中(struts2配置文件中)添加一个result节点如下:

<result name="download" type="stream">
<param name="contentType">application/zip</param>

<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${myFileFileName}"</param>
<param name="bufferSize">1024</param>
</result>
这样,就可以实现上传和下载了.

10. struts2如何实现在线预览word文档的功能

网站下载个“office顽固卸载”把office

完全卸载掉,然后重启电脑再安装

一下就应该可以解决了~ 直接点击

菜单栏上的关闭,而不是工具栏上的关闭

阅读全文

与struts文件在线预览相关的资料

热点内容
台湾同人电影有哪些 浏览:780
有多条线路可以投屏的影视网站 浏览:58
关于狮子的电影 浏览:167
罗莎卡拉乔洛最后一战 浏览:81
比爱奇艺更新快的网站 浏览:405
大尺度微电影《证明你存在的价值 浏览:118
你们镇上有电影院吗用英语怎么说 浏览:405
美女舞台上表演被真矛刺伤电影 浏览:131
飞夺泸定桥完整版播放 浏览:889
人形人偶电影 浏览:987
二战德军四级片 浏览:395
啄木鸟系列有哪些电影名称 浏览:817
伊波拉病毒电影空姐谁演的 浏览:648
啄木鸟在线免费观看 浏览:278
台湾早期四级老片是什么名 浏览:368
妻子慕柔雪 浏览:80
还有啥好看动作片的网址 浏览:464
aqdycc爱情电影网 浏览:793
主角林凡守护华夏的小说 浏览:173
法国四级片有哪些 浏览:589

友情链接