xslt调用java方法
在stylesheet标签里声明命名空间和调用方法:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:proc="${path}/packageName" exclude-result-prefixes="proc">
......
<xsl:value-of select="proc:className.methodName(param)"/>
${path}随便怎样写都可以,即使是个不存在的path也可以,但必须保证最后一个packageName是java的classpath中的第一个包,例如包名为:process,类名为:processor,方法为:format。则xslt这样写:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:proc="http://java.com/xslt/process" exclude-result-prefixes="proc">
......
<xsl:value-of select="proc:processor.format(/root/path/@attr)">
在某文件夹下(例如D:/java/classes,确保D:/java/classes在classpath中)建立文件夹process,在process文件夹里创建processor.java,processor.java这样写:
package process;
import org.w3c.dom.Node;
public class processor()
{
public static String format(Node node)//必须使用静态方法
{
if (node == null) return "";
return node.getNodeValue();
}
}
然后建立个Parse.java类进行测试:
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
public class Parse
{
public static void main(String argv[])
{
Source xml = new StreamSource("test.xml");
Source xsl = new StreamSource("test.xsl");
Result out = new StreamResult(System.out);
try
{
TransformerFactory.newInstance().newTransformer(xsl).transform(xml, out);
}
catch (TransformerConfigurationException e)
{
e.printStackTrace();
}
catch (TransformerException e)
{
e.printStackTrace();
}
}
}
相关文档:
近期有个小CMS项目,由于服务器、人员以及管理制度等一系列问题,不得不采用Java Web+Access这种不伦不类的组合进行开发,期间遇到了一个小问题,那就是文章内容采用Access的“备注”类型存取时,发生自动截断的问题。也就是说,存进去10000字的文章,只能显示出3000 ......
JNI工作原理
在JNI中,本地函数是通过一个独立的.c或.cpp文件来实现的(C++为JNI提供的界面会更简洁一些)。当JVM调用该函数时,它传递了一个JNIEnv指针、一个jobject指针和通过Java方法定义的Java参数,JNI函数的形式如下:
JNIEXPORT void JNICALL Java_ClassName_MethodName
(JNIEnv *env, jobjectobj)
{
......
1.static声明变量的用法在基础知识里面;
Java里面static用来声明函数的作用:
A.可以不用创建对象(实例),而直接调用——类.方法
B.用于main函数的方法
2.new——分配空间问题
有多少ne ......
1、语法:必须比较熟悉,在写代码的时候 IDE 的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。
2、命令:必须熟悉 JDK 带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialve ......
缩放图像的基本原理是创建一个目标大小的画布,然后读取源图像,并将该图像绘制这个画布上。为了使程序通用,源图像和缩放后的目标图像应用分别使用 InputStream和OutputStream来表示,代码如下:
public static void scaleImage(InputStream imgInputStrea ......