- letle
- 等级:


- 性别:

- 文章: 137
- 积分: 165
- 来自: bj

|
时间:2007-01-23 关键字: struts
【文章经过N次转载,不知道原创作者是谁,为了尊重原创作者,还是不要把转载的注为作者吧,在这里向原创作者致意,感谢!】
在strtus下显示完整标题的一种方法
我觉得在读数据的时候截取标题的长度有一些不妥当,我刚才试图写了一个很简单的自定义标签,在struts中有这样一个标签上面标签的意思是读取article对象中的title属性的值,现在对title的长度要求限制在一定范围之内,定义此标签的类是org.apache.struts.taglib.bean.WriteTag如果对这个类扩展,加一个属性cut ,再根据cut的大小来截取标题的长度,我对WriteTag继承,重写doStartTag(),
java 代码
- package org.apache.struts.taglib.bean;
- StringTag extends WriteTag{....
- public String setValue(String value) {
- String tempProperty=value;
- if(cut>0){
- if(tempProperty.length()>=(cut+1)){
- tempProperty=tempProperty.substring(0, cut) +"..."; }
- }
- return tempProperty;
- }
- public int doStartTag() throws JspException {
- if (ignore) {
- if (TagUtils.getInstance().lookup(pageContext, name, scope) == null) {
- return (SKIP_BODY);
- }
- }
- Object value = TagUtils.getInstance().lookup(pageContext, name, property, scope); if (value == null) {
- return (SKIP_BODY);
- }
- String output = formatValue(value);
- output=setValue(output);
-
- if (filter) {
- TagUtils.getInstance().write(pageContext, TagUtils.getInstance().filter(output));
- } else {
- TagUtils.getInstance().write(pageContext, output);
- }
- return (SKIP_BODY);}
对标签重写完毕,然后写一个dtd文件
xml 代码
- <tag>
- <name>writename>
- <tagclass>org.apache.struts.taglib.bean.StringTagtagclass>
- <bodycontent>emptybodycontent>
- <attribute>
- <name>bundlename>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>filtername>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>formatname>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>formatKeyname>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>ignorename>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>localename>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>namename>
- <required>truerequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>propertyname>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>scopename>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- <attribute>
- <name>cutname>
- <required>falserequired>
- <rtexprvalue>truertexprvalue>
- attribute>
- tag>
写完了之后,我们就可以在jsp页面中调用它了,首先引用定义标签 然后对链接代码进行重写,我写的是下面一段 paramProperty="id" paramId="id"
title="">
用以上方法当鼠标放到标题上时回显示完整的标题,在页面中显示部分标题
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
| 返回顶楼 |
|
|
- daoger
- 等级:


- 性别:

- 文章: 907
- 积分: 864
- 来自: 山东济南

|
疑似直接Ctrl+V过来的!!!
|
| 返回顶楼 |
|
|
- dhj1
- 等级:


- 文章: 541
- 积分: 2372

|
你的不是最佳方法。
小题大作,还要专门做一个TAG,真麻烦!
|
| 返回顶楼 |
|
|
- Allen
- 等级:


- 性别:

- 文章: 402
- 积分: 542
- 来自: Inner Party

|
daoger 写道 疑似直接Ctrl+V过来的!!!
Google了一下,很快就有了结果…… (因此我投了隐藏)
http://www.qhang.cn/snipsnap/comments/xiaoyongwang/2006-08-13/1
虽然楼主也并没有说是自己原创的啊……然而这样转载不注明出处的做法确实是很不妥当的。
另外,使用历史人物来作为自己头像的行为我也觉得很是不好!
|
| 返回顶楼 |
|
|
- letle
- 等级:


- 性别:

- 文章: 137
- 积分: 165
- 来自: bj

|
to daoger:是copy过来的。
to dhj1:它只是一种解决问题的思路,一种学习的方法。
|
| 返回顶楼 |
|
|
- letle
- 等级:


- 性别:

- 文章: 137
- 积分: 165
- 来自: bj

|
Allen 写道
我这篇文章是经过N次转载的,发帖子的时候也没有明确规定是否要注明转载。
这位仁兄投隐藏是你的权利,但是你不像个男人,做事不敢当,干吗把颜色调成白色?似乎有什么见不得人的东西???
另外,用什么做头像是我的权利,只要没违反《中华人民共和国宪法》和javaeye的规定,好像你用动物的头像,并不是说你就是退化了吧?呵呵。
|
| 返回顶楼 |
|
|
- dhj1
- 等级:


- 文章: 541
- 积分: 2372

|
我只谈论技术,这不是最优的方法。
在普通开发中,一般不要去自已定义TAG,根本没有必要。决问题的思路也不是要把简单的东西搞复杂,在POJO中搞个属性,切了长度放在里面,直接了当,可读性又好。干嘛去做TAG。
|
| 返回顶楼 |
|
|
- letle
- 等级:


- 性别:

- 文章: 137
- 积分: 165
- 来自: bj

|
是,你的是最佳方法!
|
| 返回顶楼 |
|
|
- diandidemeng
- 等级: 初级会员

- 文章: 40
- 积分: 79

|
更正一下,上面给出的链接失效
|
| 返回顶楼 |
|
|
- sam1982
- 等级: 初级会员

- 性别:

- 文章: 42
- 积分: 18
- 来自: 深圳

|
dhj1 写道 我只谈论技术,这不是最优的方法。
在普通开发中,一般不要去自已定义TAG,根本没有必要。决问题的思路也不是要把简单的东西搞复杂,在POJO中搞个属性,切了长度放在里面,直接了当,可读性又好。干嘛去做TAG。
那这样不是很多的POJO都要有多余的属性.这个我觉得还不如用标签,这样还可以实现filter等功能.
|
| 返回顶楼 |
|
|