<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head> 
		<body>
 <SCRIPT language="javascript">
 function next()
   {
   if(event.keyCode==13)event.keyCode=9;
  }
 </SCRIPT>
<form name="form1" method="post" action="">
<input onkeydown="next()" name="text1">
<input onkeydown="next()" name="text2">
<input onkeydown="next()" name="text3">
<input onkeydown="next()" name="text5">
<input onkeydown="if(event.keyCode==13)event.keyCode=9" name="text4">
  <input type="submit" name="Submit" value="Submit">
  <input type="reset" name="Submit2" value="Reset">
</form>
</body>
</html>
			posted @ 
2006-04-04 13:24 似水流年 阅读(3324) | 
评论 (1) | 
编辑 收藏 
		
			
		
			
			     摘要: 以下是摘自http://xdoclet.sourceforge.net/xdoclet/tags/hibernate-tags.html的内容
@hibernate Tag Reference
Tags for declaration of Hibernate descriptor file
Applies to: All classes, at class level and on get...  
阅读全文
			posted @ 
2005-11-15 14:03 似水流年 阅读(1145) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			一.安装
   1.安装jdk1.5,E:\server\jdk1.5
   2.安装mysql 4.0,E:\server\mysql
   3.安装Ant 1.6,E:\apache-ant-1.6.2
   4.安装tomcat5.5,E:\tomcat5
二.系统路径的设置:
   1、JAVA_HOME = E:\server\jdk1.5
   2、MYSQL_HOME = E:\server\mysql
   3、ANT_HOME = E:\apache-ant-1.6.2
   4、CATALINA_HOME = E:\tomcat5
   5、path,%JAVA_HOME%\bin;%ANT_HOME%\bin;%CATALINA_HOME%\bin;%MYSQL_HOME%\bin
三.安装appfuse-1.8.2,E:\jbproject\appfuse
   1.将..\appfuse\lib\junit3.8.1\junit.jar拷贝到%ANT_HOME%/lib目录下
   2.根据需要修改build.properties以下部分
     #database.jar=${postgresql.jar}
     #database.type=postgresql
     #database.host=localhost
     #database URL for creating other databases (doesn't work with pgsql)
     #database.admin.url=jdbc:${database.type}://${database.host}/template1
     #database.admin.username=postgres
     #database.admin.password=postgres
     #hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
     #database.driver_class=org.postgresql.Driver
     #database.url=jdbc:${database.type}://${database.host}/${database.name}
   我只修改了database.admin.password=我的mysql密码
   3.安装的可选项,
     如果你希望使用 iBATIS 作为持久化framework, 查看extras/ibatis目录下的 README.txt 文件或者运行 ant install-ibatis。 
     如果你希望使用 Spring 作为web framework, 查看 extras/spring 目录下的 README.txt 文件或者运行 ant install-springmvc。 
     如果你希望使用 WebWork 作为web framework, 查看extras/webwork 目录下的 README.txt 文件或者运行 ant install-webwork。 
     如果你希望使用 JSF 作为web framework, 查看 extras/jsf 目录下的 README.txt 文件或者运行 ant install-jsf。 
     如果你希望使用 Tapestry 作为web framework, 查看 extras/tapestry 目录下的 README.txt 文件或者运行 ant install-tapestry。 
   
四.新建项目
   1. 在控制台,E:\jbproject\appfuse>ant new 按照提示输入application名称(myapp),database名称(mydb),package名称(com.jinn).
   2. 如果package名称不是org.appfuse,拷贝appfuse下的ApplicationResources_zh_CN.properties和ApplicationResources_zh.properties到对应的路径下myapp下。(注意如果你的package名称不是org.appfuse(或不是以org开头?没有做过测试),会提示你输入the first part of your new package,先别忙着
输入,看看myapp,跟appfuse一样,我要你着重看看myapp\web\WEB-INF\classes下的ApplicationResources_zh_CN.properties或ApplicationResources_zh.properties
      跟appfuse下是一样的。输入the first part of your new package,例如com,再看看myapp\web\WEB-INF\classes下的ApplicationResources_zh_CN.properties或ApplicationResources_zh.properties
      它的内容变了。原来appfuse在执行rename package的过程中把相关的properties内容做了处理。这会造成页面显示乱码。
   3. 运行E:\jbproject\myapp>ant setup ,BUILD SUCCESSFUL,在浏览器输入http://localhost:8080/myapp。一切正常,此时打开查看${CATALINA_HOME}\webapps\myapp\WEB-INF\classes\ApplicationResources_zh_CN.properties,已被编码转换。
   4. 关闭tomcat,运行E:\jbproject\myapp>ant test-all,出错," failed with message "Wrong document title found! Expected "AppFuse
      ~ ???è?????" but got "AppFuse ~ ???è?????",显然还是资源文件编码的问题,注意控制台有段提示"test with locale 'zh'",将myapp\web\WEB-INF\classes>ApplicationResources_zh.properties更名为ApplicationResources_zh.properties.bak
      运行E:\jbproject\myapp\web\WEB-INF\classes>native2ascii -encoding gbk ApplicationResources_zh.properties ApplicationResources_zh.properties
      再次运行E:\jbproject\myapp>ant test-all BUILD SUCCESSFUL
参考文章:http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuseQuickStart_zh
 
			posted @ 
2005-11-15 11:20 似水流年 阅读(652) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			 
AppFuse的Ant任务
This page contains a listing of the most common Ant targets in AppFuse that I use in my daily development. For a complete list of tasks, type "ant -projecthelp" at the command line. 
任务 | 
描述 | 
| 
 setup  | 
 建立database, 配置tomcat和deploys expanded war  | 
| 
 clean  | 
 Removes build artifacts  | 
| 
 compile  | 
 编译所有的文件  | 
| 
 deploy  | 
 编译、然后部署到Tomcat  | 
| 
 deploy-web  | 
 部署JSP和静态Web内容到Tomcat  | 
| 
 install  | 
 使用Tomcat的Manager程序安装Web程序.  对于向远程服务器上部署程序很适合  | 
| 
 list  | 
 列出Tomcat已经安装、部署好的应用  | 
| 
 refresh  | 
 Undeploys, cleans, 然后重新部署.   | 
| 
 reload  | 
 使Tomcat重新装载所有程序  | 
| 
 remove  | 
 删除Tomcat部署好的程序  | 
| 
 setup-db  | 
 创建数据库,并插入范例需要的数据  | 
| 
 setup-tomcat  | 
 复制JDBC驱动和context.xml到Tomcat相应目录下  | 
| 
 test-all  | 
 运行所有用于测试dao, service和web的测试用例  | 
| 
 test-dao  | 
 测试dao模块  | 
| 
 test-service  | 
 测试service模块  | 
| 
 test-web  | 
 使用Mocks测试Action/Controller (不需要容器)  | 
| 
 test-jsp  | 
 在Tomcat中运行Canoo WebTest (启动/停止Tomcat, 执行前Tomcat应该被停止)  | 
| 
 test-canoo  | 
 当Tomcat已经运行时,执行Canoo WebTest  | 
| 
 test-reports  | 
 产生测试报告  | 
| 
 undeploy  | 
 从 $CATALINA_HOME/webapps中删除war文件和相应的目录  | 
			posted @ 
2005-11-11 14:14 似水流年 阅读(441) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			三个需要的程序包:
commons-dbcp-1.2.1.jar
http://apache.linuxforum.net/dist/jakarta/commons/dbcp/binaries/ 
struts-legacy.jar
http://apache.linuxforum.net/dist/jakarta/struts/struts-legacy/ 
commons-pool-1.2.jar
http://apache.linuxforum.net/dist/jakarta/commons/pool/binaries/ 
strut-config.xml
  <data-sources>
    <data-source key="mysqlWebDB" type="org.apache.commons.dbcp.BasicDataSource">
      <set-property property="description" value="Mysql DataSource For zyweb" />
      <set-property property="driverClassName" value="org.gjt.mm.mysql.Driver" />
      <set-property property="url" value="jdbc:mysql://localhost:3306/zyweb?useUnicode=true&characterEncoding=GBK" />
      <set-property property="username" value="root" />
      <set-property property="password" value="zyadmin" />
      <set-property property="maxActive" value="10" />
      <set-property property="maxWait" value="5000"/>
      <set-property property="defaultAutoCommit" value="false" />
      <set-property property="defaultReadOnly" value="false"/>
    </data-source>
  </data-sources>
			posted @ 
2005-10-13 16:24 似水流年 阅读(672) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			Java 中对文件的读写操作之比较
一.在 JDK 1.0 中,通常是用 InputStream & OutputStream 这两个基类来进行读写操作的。
InputStream 中的 FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在 
OutputStream 中我们有 FileOutputStream 这个对象。
用FileInputStream 来读取数据的常用方法是:
FileInputStream fstream = new FileInputStream(args[0]);
DataInputStream in = new DataInputStream(fstream);
用 in.readLine() 来得到数据,然后用 in.close() 关闭输入流。
完整代码见 Example 1。
用FileOutputStream 来写入数据的常用方法是:
FileOutputStream out out = new FileOutputStream("myfile.txt");    
PrintStream p = new PrintStream( out );
用 p.println() 来写入数据,然后用 p.close() 关闭输入。
完整代码见 Example 2。
二.在 JDK 1.1中,支持两个新的对象 Reader & Writer, 它们只能用来对文本文件进行操作,而 
JDK1.1中的 InputStream & OutputStream 可以对文本文件或二进制文件进行操作。
用FileReader 来读取文件的常用方法是:
FileReader fr = new FileReader("mydata.txt");
BufferedReader br = new BufferedReader(fr); 
用 br.readLing() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。
完整代码见 Example 3。 
用 FileWriter 来写入文件的常用方法是:
FileWriter fw = new FileWriter("mydata.txt");
PrintWriter out = new PrintWriter(fw);  
在用out.print 或 out.println 来往文件中写入数据,out.print 和 out.println的唯一区别是后者写
入数据或会自动开一新行。写完后要记得 用out.close() 关闭输出,用fw.close() 关闭文件。   
完整代码见 Example 4。
-------------------------------------------------------------- following is the source code of examples------------------------------------------------------
Example 1:
// FileInputDemo
// Demonstrates FileInputStream and DataInputStream
import java.io.*;


class FileInputDemo 
{

  public static void main(String args[]) 
{
    // args.length is equivalent to argc in C

    if (args.length == 1) 
{

      try 
{
        // Open the file that is the first command line parameter
        FileInputStream fstream = new FileInputStream(args[0]);
        // Convert our input stream to a DataInputStream
        DataInputStream in = new DataInputStream(fstream);
        // Continue to read lines while there are still some left to read

        while (in.available() !=0) 
{
          // Print file line to screen
          System.out.println (in.readLine());
        }
        in.close();

      } catch (Exception e) 
{
        System.err.println("File input error");
      }
    }
    else
      System.out.println("Invalid parameters");
  }
}

 
Example 2:
// FileOutputDemo
// Demonstration of FileOutputStream and PrintStream classes
import java.io.*;

class FileOutputDemo 


{    

  public static void main(String args[])  
{              
  FileOutputStream out; // declare a file output object
    PrintStream p; // declare a print stream object


try 
{
  // connected to "myfile.txt"
      out = new FileOutputStream("myfile.txt");
      // Connect print stream to the output stream
      p = new PrintStream( out );
      p.println ("This is written to a file");
      p.close();

    } catch (Exception e) 
{
      System.err.println ("Error writing to file");
    }
  }
}

 
Example 3:
// FileReadTest.java
// User FileReader in JDK1.1 to read a file 
import java.io.*;


class FileReadTest 
{      

  public static void main (String[] args) 
{
    FileReadTest t = new FileReadTest();
    t.readMyFile();
} 
    

  void readMyFile() 
{ 
    String record = null;
    int recCount = 0; 

    try 
{ 
FileReader fr = new FileReader("mydata.txt");
       BufferedReader br = new BufferedReader(fr);
       record = new String();

       while ((record = br.readLine()) != null) 
{
         recCount++;
         System.out.println(recCount + ": " + record); 
}
br.close();
fr.close(); 

     } catch (IOException e) 
{ 
         System.out.println("Uh oh, got an IOException error!");
         e.printStackTrace();
     }
} 
  
}    

 
Example 4:
// FileWriteTest.java
// User FileWriter in JDK1.1 to writer a file 
import java.io.*;


class FileWriteTest 
{      

  public static void main (String[] args) 
{
    FileWriteTest t = new FileWriteTest();
    t.WriteMyFile();
} 
    

  void WriteMyFile() 
{ 

    try 
{ 
FileWriter fw = new FileWriter("mydata.txt");
PrintWriter out = new PrintWriter(fw);    
out.print(“hi,this will be wirte into the file!”);   
out.close();
fw.close();

     } catch (IOException e) 
{ 
         System.out.println("Uh oh, got an IOException error!");
         e.printStackTrace();
     }
} 
  
}    

 
			posted @ 
2005-06-23 17:46 似水流年 阅读(933) | 
评论 (2) | 
编辑 收藏 
		
			
		
			
			
<embed src="http://wmt2.aboutmedia.com.tw/Aboutmedia/warner/mtv/naying-021011_01v_120k.wmv";; 
autostart="true" loop="true" width="200" height="150" > 
把这个网址http://wmt2.aboutmedia.com.tw/Aboutmedia/warner/mtv/naying-021011_01v_120k.wmv换成你要看的电影就行了
有图像的rm格式:
<OBJECT classid='clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA' height=288 id=video1 width=305 VIEWASTEXT>
<param name='_ExtentX' value='5503'>
<param name='_ExtentY' value='1588'>
<param name='AUTOSTART' value='-1'>
<param name='SHUFFLE' value='0'>
<param name='PREFETCH' value='0'>
<param name='NOLABELS' value='0'>
<param name='SRC' value='http://media.cdut.edu.cn/ram/new/xiaoxin1.ram'>
<param name='CONTROLS' value='Imagewindow,StatusBar,ControlPanel'>
<param name='CONSOLE' value='RAPLAYER'>
<param name='LOOP' value='0'>
<param name='NUMLOOP' value='0'>
<param name='CENTER' value='0'>
<param name='MAINTAINASPECT' value='0'>
<param name='BACKGROUNDCOLOR' value='#000000'>
</OBJECT>
无图像的rm格式:如相声,歌曲。。。
<object ID='video2' WIDTH='300' HEIGHT='62' CLASSID='CLSID:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA'>
<param name='_ExtentX' value='9657'>
<param name='_ExtentY' value='847'>
<param name='AUTOSTART' value='-1'>
<param name='SHUFFLE' value='0'>
<param name='PREFETCH' value='0'>
<param name='NOLABELS' value='0'>
<param name='SRC' value='http://210.242.69.206/ramgen/broadcast/BCC/encoder/hipop.rm'>
<param name='CONTROLS' value='StatusBar,controlpanel'>
<param name='CONSOLE' value='Clip1'>
<param name='LOOP' value='0'>
<param name='NUMLOOP' value='0'>
<param name='CENTER' value='0'>
<param name='MAINTAINASPECT' value='0'>
<param name='BACKGROUNDCOLOR' value='#000000'>
</object>
最简单的media格式的播放器。。自动识别有无图像,但是版本是你机器的!
<embed src='mms://61.175.132.221/tv/mtv/f4/makeawish.wmv' width=200 height=200 autostart=true loop=true></embed>
有图像的media播放器,自动调用网上的插件。
<object id=nstv classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width=280 height=265 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject>
<param name='URL' value='http://202.99.11.42/xiangsheng/ymjr.wma'>
<PARAM NAME='UIMode' value='full'><PARAM NAME='AutoStart' value='true'>
<PARAM NAME='Enabled' value='true'>
<PARAM NAME='enableContextMenu' value='false'>
<param name='WindowlessVideo' value='true'></object>
无图像的media播放器。。。同上。
<object id=nstv classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' width=280 height=60 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject>
<param name='URL' value='http://202.99.11.42/xiangsheng/ymjr.wma'>
<PARAM NAME='UIMode' value='full'><PARAM NAME='AutoStart' value='true'>
<PARAM NAME='Enabled' value='true'>
<PARAM NAME='enableContextMenu' value='false'>
</object>
只是界面不同的media的调插件播放器。。建议不用这个,,你可以看!
<embed src='http://av.wanwa.com/fileroot/AV/Ramfiles/23809.ram' type='audio/x-pn-realaudio-plugin' console='Clip1' controls='ControlPanel,StatusBar' height='60' width='275' autostart='true'></embed>
rm文件在线播放
<embed height=25 src=www.xiakedao.com/biyun/ren/a.rm type=audio/x-pn-realaudio-plugin width=50 autostart="false" controls="PlayButton">
autostart="false" 打开页面时处于候命状态,autostart="true" 打开页面时马上听声音 height=25 width=50 有不同数值,播放器面板有些不同
midi、au、avi文件在线播放
<EMBED SRC="http://www.shunde.net.cn/~biyun/wlsd/wy/yinyue/H/1.mid"; width="47" height="24" AUTOSTART=TRUE> 
autostart="false" 打开页面时处于候命状态,autostart="true" 打开页面时马上听声音 height=25 width=50 有不同数值,播放器面板有些不同 
asf文件在线播放
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body topmargin="0" leftmargin="0">
<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=7.0 height=53 id=NSPlay0 name=NSPlay type=application/x-oleobject width=87 VIEWASTEXT standby="Loading Microsoft Windows Media Player components..." border="0"><param name="AudioStream" value="-1">
<param name="AutoSize" value="0">
<param name="AutoStart" value="1">
<param name="AnimationAtStart" value="-1">
<param name="AllowScan" value="-1">
<param name="AllowChangeDisplaySize" value="-1">
<param name="AutoRewind" value="0">
<param name="Balance" value="0">
<param name="BaseURL" value>
<param name="BufferingTime" value="10">
<param name="CaptioningID" value>
<param name="ClickToPlay" value="-1">
<param name="CursorType" value="0">
<param name="CurrentPosition" value="-1">
<param name="CurrentMarker" value="0">
<param name="DefaultFrame" value>
<param name="DisplayBackColor" value="0">
<param name="DisplayForeColor" value="65280">
<param name="DisplayMode" value="0">
<param name="DisplaySize" value="1">
<param name="Enabled" value="-1">
<param name="EnableContextMenu" value="-1">
<param name="EnablePositionControls" value="-1">
<param name="EnableFullScreenControls" value="-1">
<param name="EnableTracker" value="-1">
<param name="Filename" value="http://music.sdcatv.net/biyun/wlsd/down/yin/gequ/asf/5.asf";>
<param name="InvokeURLs" value="-1">
<param name="Language" value="-1">
<param name="Mute" value="0">
<param name="PlayCount" value="1">
<param name="PreviewMode" value="0">
<param name="Rate" value="1">
<param name="SAMILang" value>
<param name="SAMIstyle" value>
<param name="SAMIFileName" value>
<param name="selectionStart" value="-1">
<param name="selectionEnd" value="-1">
<param name="SendOpenStateChangeEvents" value="-1">
<param name="SendWarningEvents" value="-1">
<param name="SendErrorEvents" value="-1">
<param name="SendKeyboardEvents" value="0">
<param name="SendMouseClickEvents" value="0">
<param name="SendMouseMoveEvents" value="0">
<param name="SendPlayStateChangeEvents" value="-1">
<param name="ShowCaptioning" value="0">
<param name="ShowControls" value="-1">
<param name="ShowAudioControls" value="0">
<param name="ShowDisplay" value="0">
<param name="ShowGotoBar" value="0">
<param name="ShowPositionControls" value="-1">
<param name="ShowStatusBar" value="-1">
<param name="ShowTracker" value="-1">
<param name="TransparentAtStart" value="-1">
<param name="VideoBorderWidth" value="0">
<param name="VideoBorderColor" value="0">
<param name="VideoBorder3D" value="-1">
<param name="Volume" value="0">
<param name="WindowlessVideo" value="0">
</object>
其中<param name="AutoStart" value="0"> 0为打开页面处于待命状态,为1时打开页面直接播放 </body>
</html> 
流式收听mp3方法:
http://*.mp3,http://*.mp3,http://...琱ttp://*.mp3,
把上面的的文件另存为*.m3u,就可实现在线播放*.mp3(支持连续播放) 
mpeg影象在线播放:
等等,让它下载 
<img border="0" dynsrc="http://music.cnvnet.com/video/0321.mpeg ;
" start="fileopen"> 
rm影像在线播放 代码:
<object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=114 height=100>
<param name="_ExtentX" value="3016">
<param name="_ExtentY" value="2646">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="http://music.cnvnet.com/mtv/20010618/002.ram";>
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object> 
加几个控制器
<object id="vid" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=300>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="7938">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="http://music.cnvnet.com/mtv/20010618/001.ram";>
<param name="CONTROLS" value="Imagewindow">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object> 
<object id="vid2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width=427 height=30>
<param name="_ExtentX" value="11298">
<param name="_ExtentY" value="794">
<param name="AUTOSTART" value="-1">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="-1">
<param name="SRC" value="http://music.cnvnet.com/mtv/20010618/001.ram";>
<param name="CONTROLS" value="ControlPanel">
<param name="CONSOLE" value="clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#000000">
</object>
 
			posted @ 
2005-06-17 14:20 似水流年 阅读(1290) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			在JSTL 1.1中使用以下标识符:
| 
 库   | 
 URI   | 
 前缀   | 
| 
 Core  | 
 http://java.sun.com/jsp/jstl/core   | 
 c  | 
| 
 XML processing  | 
 http://java.sun.com/jsp/jstl/xml   | 
 x  | 
| 
 I18N formatting  | 
 http://java.sun.com/jsp/jstl/fmt   | 
 fmt  | 
| 
 Database access  | 
 http://java.sun.com/jsp/jstl/sql   | 
 sql  | 
| 
 Functions  | 
 http://java.sun.com/jsp/jstl/functions   | 
 fn  | 
			posted @ 
2005-06-07 16:13 似水流年 阅读(663) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			使用实例:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ${fn:length(myCollection)} 
其他函数: 
| 
 函数   | 
 描述   | 
| 
 fn:contains(string, substring)  | 
 如果参数string中包含参数substring,返回true  | 
| 
 fn:containsIgnoreCase(string, substring)  | 
 如果参数string中包含参数substring(忽略大小写),返回true  | 
| 
 fn:endsWith(string, suffix)  | 
 如果参数 string 以参数suffix结尾,返回true  | 
| 
 fn:escapeXml(string)  | 
 将有特殊意义的XML (和HTML)转换为对应的XML character entity code,并返回  | 
| 
 fn:indexOf(string, substring)  | 
 返回参数substring在参数string中第一次出现的位置  | 
| 
 fn:join(array, separator)  | 
 将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。  | 
| 
 fn:length(item)  | 
 返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。如果是String类型,返回值是String中的字符数。  | 
| 
 fn:replace(string, before, after)  | 
 返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果  | 
| 
 fn:split(string, separator)  | 
 返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素  | 
| 
 fn:startsWith(string, prefix)  | 
 如果参数string以参数prefix开头,返回true  | 
| 
 fn:substring(string, begin, end)  | 
 返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符  | 
| 
 fn:substringAfter(string, substring)  | 
 返回参数substring在参数string中后面的那一部分字符串  | 
| 
 fn:substringBefore(string, substring)  | 
 返回参数substring在参数string中前面的那一部分字符串  | 
| 
 fn:toLowerCase(string)  | 
 将参数string所有的字符变为小写,并将其返回  | 
| 
 fn:toUpperCase(string)  | 
 将参数string所有的字符变为大写,并将其返回  | 
| 
 fn:trim(string)  | 
 去除参数string 首尾的空格,并将其返回  | 
			posted @ 
2005-06-07 16:12 似水流年 阅读(1867) | 
评论 (1) | 
编辑 收藏 
		
			
		
			
			返回到前一页不刷新
<input type="button" value="返回" onClick="history.go(-1)">  返回到前一页并刷新
<%String ref = request.getHeader("REFERER");response.sendRedirect(ref);%> 
			posted @ 
2005-06-07 16:12 似水流年 阅读(833) | 
评论 (0) | 
编辑 收藏