roller java,月光软件站 - 编程文档 - Java - 修改ReadMorePlugin.java,使其支持中文标题(roller webblog)...
修改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)...相关推荐
- win2000 java,月光软件站 - 编程文档 - Java - win2000下jsp环境配置
win2000下的tomcat配置 1.准备tomcat5.0和j2sdk1.4 网址:http://java.sun.com/j2se/1.4.2/download.html 下载windows版本 ...
- 个人帐目管理系统java_月光软件站 - 编程文档 - Java - 实战EdaEagle——个人帐目管理系统(一)...
实战EdaEagle--个人帐目管理系统(一) 作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 点击此出下载EdaEagle 点击此处下载个人帐目管理源码 EdaEagle,既 ...
- 怎样学java软件编程6_月光软件站 - 编程文档 - Java - 我学习使用java的一点体会(6)...
现在应该说一说设计模式的学习了.设计模式是一个高度抽象的概念,每一种模式都是被抽象化了的解决某一问题的成功经验,理解设计模式需要洞察力,因而学习设计模式前,最好有一定的经验,不然很难体会设计模式的精髓 ...
- java项目连接jboss中数据库_月光软件站 - 编程文档 - Java - JBOSS3.2.5中MYSQL数据库连接池的建立与测试...
数据库连接池的配置参照 samlei 的文档<切换JBOSS默认数据库到MySQL> http://dev.csdn.net/develop/article/33/33406.shtm ...
- java创建多级xml树_月光软件站 - 编程文档 - Java - 用XSL与XML实现多级树形菜单
XSL语言功能强大而奇妙.从前面的例子中,我们可以初步了解到,一个xsl文档中使用了很多类似"xsl:xxxxx"这样的标签,这些标签就是xsl语言的部分.一个xsl文档至少是由一 ...
- java最大质数_月光软件站 - 编程文档 - Java - 给一个数,返回比它小的最大质数...
给一个数,返回比它小的最大质数 今天,有个朋友说他们Java老师布置了一道题,要求写一个java程序, 已知一个数,然后给出比这个数小的最大质数. 起初给他写了这个asp的程序,希望他自己动手做出ja ...
- gc java ibm_月光软件站 - 编程文档 - Java - IBM JVM 1.4.1 GC与内存管理
(本文内容,主要翻译自http://www-106.ibm.com/developerworks/java/jdk/diagnosis/GCandMemory.pdf 1 概述 本文档介绍了IBM J ...
- java ejb3开发_月光软件站 - 编程文档 - Java - 使用EJB3.O简化EJB开发(三)
简化持久化容器管理 CMP实体bean将成为EJB3.0使得开发人员强制使用的一个主要的检查方式.持久化框架象如开源的已经成为不像实体bean本质上的复杂和重量级的开发J2EE持久化框架应用的被大家喜 ...
- java 2d划线 刷子_月光软件站 - 编程文档 - Java - Java图形设计中,利用Bresenham算法实现直线线型,线宽的控制(NO 2D GRAPHICS)...
Java 2D Graphics提供了强大的画线功能,可以控制线型,线宽,刷子的形状等,但在JDK1.2以前,没有提供这样一个功能,为了保持与旧版JDK的相容,实现一个可控制线型,线宽的画直线方法还是 ...
- java语句电脑定时关机_月光软件站 - 编程文档 - Java - windows定时关机程序
应网友yangxjn需要写的一个windows定时关机程序 . /** * Created by IntelliJ IDEA. * autor:cofbean * Date: 2004-3-10 * ...
最新文章
- 怎么重置mysql密码是多少钱_mysql怎么重置密码
- dev 获取gridview没有rows属性_虚拟黑群晖不直通也可以获取到SMART?
- 揭秘.NET Core剪裁器背后的技术
- mysql集群跨地域同步部署_跨地域冗余 - 跨数据中心部署方案 - 《TiDB v2.1 用户文档》 - 书栈网 · BookStack...
- C++传入任意的函数类型作为参数
- 这里是强化学习入门,的入门 | 绝对新手友好
- Data-mediator入门系列2
- Linux红帽认证最全介绍
- oracle数据库行转列(含例子表结构及查询sql)
- 软件项目管理第二章笔记---软件项目整体管理
- 程序员必须知道的八件事
- Python顺序结构
- 【​观察】加速“云矩阵”生态落地,京东云能否成为新变量?
- 计算机写给未来自己的一段话,写给未来的自己一句话致未来自己的句子简短励志...
- 【训练题66:状压暴力 | 子集dp】Greater Integer, Better LCM | 2021牛客暑期多校训练营5
- Telnet - 访问8080端口并发送数据
- [转]彻底卸载SQL Server2014数据库(也适用于SqlServer2012)
- 代码随想录训练营day9
- 射频衰减器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 一个等号(=)和三个等号和两个等号的区别(“===”和“==”)
热门文章
- 图书管理系统c语言ns图,图书管理系统流程图.doc
- 微波工程(4)——阻抗匹配
- chromium thirt_party skia编译shared_liberary
- 计算机libeay32.dll丢失怎么办,电脑libeay32.dll丢失的解决方法
- speedoffice(word)字体如何设置为斜体
- Java实现复制文件(文件、文件夹)
- 一种基于复制粘贴的cam350邮票孔拼版教程(三) 导出钻孔文件
- 如何使用Python玩转PDF各种骚操作?你看了就知道。
- KISSsoft release 03.2014+诚善首饰零售管理
- Java开发揭秘!java反射和映射机制