`
playfish
  • 浏览: 285513 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

JSP字符串格式化及转换原代码

阅读更多

 package news;

/**
* Title:       字符串格式化工具
* Description:
* @author:   WineFox
* @version 1.0
*/

public class strFormat {

    /**
     * 字符串替换,将 source 中的 oldString 全部换成 newString
     *
     * @param source 源字符串
     * @param oldString 老的字符串
     * @param newString 新的字符串
     * @return 替换后的字符串
  * 用于输入的表单字符串转化成HTML格式的文本
     */
public static void main (String [] args) {}
   
    public static String Replace(String source, String oldString, String newString) {
        StringBuffer output = new StringBuffer();

        int lengthOfSource = source.length();   // 源字符串长度
        int lengthOfOld = oldString.length();   // 老字符串长度

        int posStart = 0;   // 开始搜索位置
        int pos;            // 搜索到老字符串的位置

        while ((pos = source.indexOf(oldString, posStart)) >= 0) {
            output.append(source.substring(posStart, pos));

            output.append(newString);
            posStart = pos + lengthOfOld;
        }

        if (posStart < lengthOfSource) {
            output.append(source.substring(posStart));
        }

        return output.toString();
    }

    /*
    public static String ReplaceIgnoreCase(String source, String oldString, String newString) {
    }
    */

    /**
     * 将字符串格式化成 HTML 代码输出
     * 只转换特殊字符,适合于 HTML 中的表单区域
     *
     * @param str 要格式化的字符串
     * @return 格式化后的字符串
     */
    public static String toHtmlInput(String str) {
        if (str == null)    return null;

        String html = new String(str);

        html = Replace(html, "&", "&amp;");
        html = Replace(html, "<", "&lt;");
        html = Replace(html, ">", "&gt;");

        return html;
    }

    /**
     * 将字符串格式化成 HTML 代码输出
     * 除普通特殊字符外,还对空格、制表符和换行进行转换,
     * 以将内容格式化输出,
     * 适合于 HTML 中的显示输出
     *
     * @param str 要格式化的字符串
     * @return 格式化后的字符串
     */
    public static String toHtml(String str) {
        if (str == null)    return null;

        String html = new String(str);

        html = toHtmlInput(html);
        html = Replace(html, "\r\n", "\n");
        html = Replace(html, "\n", "<br>\n");
        html = Replace(html, "\t", "    ");
        html = Replace(html, "  ", " &nbsp;");

        return html;
    }

    /**
     * 将普通字符串格式化成数据库认可的字符串格式
     *
     * @param str 要格式化的字符串
     * @return 合法的数据库字符串
     */
    public static String toSql(String str) {
        String sql = new String(str);
        return Replace(sql, "'", "''");
    }

    /*
    public static void main(String[] args) {
        String s = "<html>    ddd";
        Format f = new Format();
        System.out.println(f.toHtmlInput(s));
        System.out.println(f.toHtml(s));
    }
    */
}

分享到:
评论

相关推荐

    JAVA上百实例源码以及开源项目源代码

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...

    Java开发技术大全(500个源代码).

    示例描述:本章学习数组与字符串。 ArrayString.java 字符串数组 assignTwoDime.java 为二维数组赋值 getMaxElem.java 获取数组中的最大元素 incCapicity.java 演示StingBuffer的容量增长 SortDemo.java 排序...

    java范例开发大全源代码

     实例42 字符串索引越界异常(StringIndexOutBounds) 60  实例43 操作错误(UnsupportedOperationException) 60  4.2 运行时异常 61  实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 ...

    java jdk实列宝典 光盘源代码

    字符串编码的转换;字符串对齐器;密码加密和验证(MD5); 制作命令行程序;使用正则表达式操作字符串;使用正则表达式验证电话号码的格式; 6java异常处理 throw和throws、try和catch;自定义异常类;使用finally...

    java源码包---java 源码 大量 实例

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java源码包2

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java源码包3

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    java源码包4

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...

    JAVA上百实例源码以及开源项目

     设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节  通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到...

    千方百计笔试题大全

    55、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串? 14 56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和...

    java面试宝典

    55、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串? 14 56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 14 59、Java 编程,打印昨天的当前时刻。 15 60、java 和...

    JSTL高级用法

    ${pageContext.request.queryString} 取得请求的参数字符串${pageContext.request.requestURL} 取得请求的URL,但不包括请求之参数字符串 ${pageContext.request.contextPath} 服务的web application 的名称 ${...

    Java范例开发大全 (源程序)

     实例42 字符串索引越界异常(StringIndexOutBounds) 60  实例43 操作错误(UnsupportedOperationException) 60  4.2 运行时异常 61  实例44 找不到指定类时发生的异常(ClassNotFoundException) 62  ...

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    留言板源代码 所有留言板实例的源代码 数据库备份 留言板数据所需要的数据库 第17章(/ch17) 程序描述:本章介绍开发AJAX的开源框架GWT(Google Web Toolkit) 。最典型的Google Maps和Gmail等Google...

    java范例开发大全

    实例278 通过指定的URL可以获取网页的源代码 542 实例279 一对多通信模式 544 实例280 自制浏览器 549 实例281 扫描TCP端口 551 实例282 TCP协议服务器 552 实例283 TCP协议客户机 553 实例284 Socket连接信息 555 ...

    java范例开发大全(pdf&源码)

    实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求的...

    Java范例开发大全(全书源程序)

    实例42 字符串索引越界异常(StringIndexOutBounds) 60 实例43 操作错误(UnsupportedOperationException) 60 4.2 运行时异常 61 实例44 找不到指定类时发生的异常(ClassNotFoundException) 62 实例45 请求...

Global site tag (gtag.js) - Google Analytics