修改ReadMorePlugin.java,使其支持中文标题(roller webblog)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

目前的最新版roller的readmore插件,并不支持中文标题,需要对ReadMorePlugin.java文件进行如下修改 ReadMorePlugin.java文件中的105行(render方法中),原: entry.getAnchor() 修改为: URLEncoder.encode(entry.getAnchor(), “UTF-8”) 既可 修改后的源码如下:

/*

* Created on Nov 2, 2003

*

*/

package org.roller.presentation.velocity.plugins.readmore;

import org.apache.commons.lang.StringEscapeUtils;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import org.apache.velocity.context.Context;

import org.roller.RollerException;

import org.roller.model.RollerFactory;

import org.roller.model.UserManager;

import org.roller.pojos.WeblogEntryData;

import org.roller.pojos.WebsiteData;

import org.roller.presentation.RollerRequest;

import org.roller.presentation.velocity.PagePlugin;

import org.roller.util.Utilities;

import java.io.UnsupportedEncodingException;

import java.net.URLEncoder;

/**

* @author lance

*

*/

public class ReadMorePlugin implements PagePlugin

{

protected String name = "Read More Summary";

protected String description = "Stops entry after 250 characters and creates " +

"a link to the full entry.";

private static Log mLogger =

LogFactory.getFactory().getInstance(ReadMorePlugin.class);

String ctxPath = "";

public ReadMorePlugin()

{

mLogger.debug("ReadMorePlugin instantiated.");

}

public String toString() { return name; }

/* (non-Javadoc)

* @see org.roller.presentation.velocity.PagePlugin#init(org.roller.presentation.RollerRequest, org.apache.velocity.context.Context)

*/

public void init(RollerRequest rreq, Context ctx) throws RollerException

{

if (rreq == null) throw new RollerException("RollerRequest is null.");

ctxPath = rreq.getRequest().getContextPath();

}

/**

* @param mgr

* @param data

* @return

*/

private String getPageLink(UserManager mgr, WebsiteData website) throws RollerException

{

return mgr.retrievePage(website.getDefaultPageId()).getLink();

}

/*

* This method cannot do it's intended job (since it cannot

* read the current Entry) so it is to do no work!

*

* (non-Javadoc)

* @see org.roller.presentation.velocity.PagePlugin#render(java.lang.String)

*/

public String render(String str)

{

return str;

}

public String render(WeblogEntryData entry, boolean skipFlag)

{

if (skipFlag)

return entry.getText();

// in case it didn't initialize

String pageLink = "Weblog";

try

{

pageLink = getPageLink(

RollerFactory.getRoller().getUserManager(), entry.getWebsite());

}

catch (RollerException e)

{

mLogger.warn("Unable to get pageLink", e);

}

String result = Utilities.truncateNicely(entry.getText(), 240, 260, "... ");

try

{

// if the result is shorter, we need to add "Read More" link

if (result.length() < entry.getText().length())

{

String link = "

相关文章:

相关软件:

roller java,月光软件站 - 编程文档 - Java - 修改ReadMorePlugin.java,使其支持中文标题(roller webblog)...相关推荐

  1. win2000 java,月光软件站 - 编程文档 - Java - win2000下jsp环境配置

    win2000下的tomcat配置 1.准备tomcat5.0和j2sdk1.4 网址:http://java.sun.com/j2se/1.4.2/download.html 下载windows版本 ...

  2. 个人帐目管理系统java_月光软件站 - 编程文档 - Java - 实战EdaEagle——个人帐目管理系统(一)...

    实战EdaEagle--个人帐目管理系统(一) 作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 点击此出下载EdaEagle 点击此处下载个人帐目管理源码 EdaEagle,既 ...

  3. 怎样学java软件编程6_月光软件站 - 编程文档 - Java - 我学习使用java的一点体会(6)...

    现在应该说一说设计模式的学习了.设计模式是一个高度抽象的概念,每一种模式都是被抽象化了的解决某一问题的成功经验,理解设计模式需要洞察力,因而学习设计模式前,最好有一定的经验,不然很难体会设计模式的精髓 ...

  4. java项目连接jboss中数据库_月光软件站 - 编程文档 - Java - JBOSS3.2.5中MYSQL数据库连接池的建立与测试...

    数据库连接池的配置参照 samlei 的文档<切换JBOSS默认数据库到MySQL>  http://dev.csdn.net/develop/article/33/33406.shtm ...

  5. java创建多级xml树_月光软件站 - 编程文档 - Java - 用XSL与XML实现多级树形菜单

    XSL语言功能强大而奇妙.从前面的例子中,我们可以初步了解到,一个xsl文档中使用了很多类似"xsl:xxxxx"这样的标签,这些标签就是xsl语言的部分.一个xsl文档至少是由一 ...

  6. java最大质数_月光软件站 - 编程文档 - Java - 给一个数,返回比它小的最大质数...

    给一个数,返回比它小的最大质数 今天,有个朋友说他们Java老师布置了一道题,要求写一个java程序, 已知一个数,然后给出比这个数小的最大质数. 起初给他写了这个asp的程序,希望他自己动手做出ja ...

  7. gc java ibm_月光软件站 - 编程文档 - Java - IBM JVM 1.4.1 GC与内存管理

    (本文内容,主要翻译自http://www-106.ibm.com/developerworks/java/jdk/diagnosis/GCandMemory.pdf 1 概述 本文档介绍了IBM J ...

  8. java ejb3开发_月光软件站 - 编程文档 - Java - 使用EJB3.O简化EJB开发(三)

    简化持久化容器管理 CMP实体bean将成为EJB3.0使得开发人员强制使用的一个主要的检查方式.持久化框架象如开源的已经成为不像实体bean本质上的复杂和重量级的开发J2EE持久化框架应用的被大家喜 ...

  9. java 2d划线 刷子_月光软件站 - 编程文档 - Java - Java图形设计中,利用Bresenham算法实现直线线型,线宽的控制(NO 2D GRAPHICS)...

    Java 2D Graphics提供了强大的画线功能,可以控制线型,线宽,刷子的形状等,但在JDK1.2以前,没有提供这样一个功能,为了保持与旧版JDK的相容,实现一个可控制线型,线宽的画直线方法还是 ...

  10. java语句电脑定时关机_月光软件站 - 编程文档 - Java - windows定时关机程序

    应网友yangxjn需要写的一个windows定时关机程序 . /** * Created by IntelliJ IDEA. * autor:cofbean * Date: 2004-3-10 * ...

最新文章

  1. 怎么重置mysql密码是多少钱_mysql怎么重置密码
  2. dev 获取gridview没有rows属性_虚拟黑群晖不直通也可以获取到SMART?
  3. 揭秘.NET Core剪裁器背后的技术
  4. mysql集群跨地域同步部署_跨地域冗余 - 跨数据中心部署方案 - 《TiDB v2.1 用户文档》 - 书栈网 · BookStack...
  5. C++传入任意的函数类型作为参数
  6. 这里是强化学习入门,的入门 | 绝对新手友好
  7. Data-mediator入门系列2
  8. Linux红帽认证最全介绍
  9. oracle数据库行转列(含例子表结构及查询sql)
  10. 软件项目管理第二章笔记---软件项目整体管理
  11. 程序员必须知道的八件事
  12. Python顺序结构
  13. 【​观察】加速“云矩阵”生态落地,京东云能否成为新变量?
  14. 计算机写给未来自己的一段话,写给未来的自己一句话致未来自己的句子简短励志...
  15. 【训练题66:状压暴力 | 子集dp】Greater Integer, Better LCM | 2021牛客暑期多校训练营5
  16. Telnet - 访问8080端口并发送数据
  17. [转]彻底卸载SQL Server2014数据库(也适用于SqlServer2012)
  18. 代码随想录训练营day9
  19. 射频衰减器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. 一个等号(=)和三个等号和两个等号的区别(“===”和“==”)

热门文章

  1. 图书管理系统c语言ns图,图书管理系统流程图.doc
  2. 微波工程(4)——阻抗匹配
  3. chromium thirt_party skia编译shared_liberary
  4. 计算机libeay32.dll丢失怎么办,电脑libeay32.dll丢失的解决方法
  5. speedoffice(word)字体如何设置为斜体
  6. Java实现复制文件(文件、文件夹)
  7. 一种基于复制粘贴的cam350邮票孔拼版教程(三) 导出钻孔文件
  8. 如何使用Python玩转PDF各种骚操作?你看了就知道。
  9. KISSsoft release 03.2014+诚善首饰零售管理
  10. Java开发揭秘!java反射和映射机制