📄 detailpagetransformbean.java
字号:
package JavaDatabaseBible.ch15;
import java.io.*;
import org.xml.sax.SAXException;
import org.apache.xalan.xslt.XSLTProcessorFactory;
import org.apache.xalan.xslt.XSLTInputSource;
import org.apache.xalan.xslt.XSLTResultTarget;
import org.apache.xalan.xslt.XSLTProcessor;
public class DetailPageTransformBean{
private String xslFileName = null;
private byte[] xmlSource = null;
private ByteArrayInputStream xmlInputStream = null;
public DetailPageTransformBean(){
}
public void setXmlSource(byte[] xmlSource){
this.xmlSource=xmlSource;
xmlInputStream = new ByteArrayInputStream(xmlSource);
}
public void setXslFileName(String xslFileName){
this.xslFileName=xslFileName;
File f = new File(xslFileName);
if(!f.exists())System.out.println("Cannot find file: "+xslFileName);
}
public byte[] applyTransform(byte[] xmlSource){
setXmlSource(xmlSource);
return applyTransform();
}
public byte[] applyTransform(){
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
try{
XSLTProcessor processor = XSLTProcessorFactory.getProcessor();
processor.process(new XSLTInputSource(xmlInputStream),
new XSLTInputSource(xslFileName),
new XSLTResultTarget(outputStream));
}catch(Exception e){
System.err.println(e);
}
return outputStream.toByteArray();
}
public static void main(String args[]){
File f = new File("EditDetail.html");
int id = 1000;
DetailPageXMLBean xmlBean = new DetailPageXMLBean();
DetailPageTransformBean transformBean = new DetailPageTransformBean();
xmlBean.setId(id);
//transformBean.setXslFileName("DetailPage.xsl");
transformBean.setXslFileName("EditDetail.xsl");
//xmlBean.getDetailData();
try {
FileOutputStream fos = new FileOutputStream(f);
fos.write(transformBean.applyTransform(xmlBean.getVehicleData()));
}catch(Exception e){
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -