struts2自定义标签Word下载.docx

上传人:b****5 文档编号:18676014 上传时间:2022-12-31 格式:DOCX 页数:41 大小:37.52KB
下载 相关 举报
struts2自定义标签Word下载.docx_第1页
第1页 / 共41页
struts2自定义标签Word下载.docx_第2页
第2页 / 共41页
struts2自定义标签Word下载.docx_第3页
第3页 / 共41页
struts2自定义标签Word下载.docx_第4页
第4页 / 共41页
struts2自定义标签Word下载.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

struts2自定义标签Word下载.docx

《struts2自定义标签Word下载.docx》由会员分享,可在线阅读,更多相关《struts2自定义标签Word下载.docx(41页珍藏版)》请在冰豆网上搜索。

struts2自定义标签Word下载.docx

UTF-8"

>

2.<

!

DOCTYPE 

taglib 

PUBLIC 

"

-//Sun 

Microsystems, 

Inc.//DTD 

JSP 

Tag 

Library 

1.2//EN"

1.

taglib>

<

tlib-version>

2.2.3<

/tlib-version>

jsp-version>

1.2<

/jsp-version>

short-name>

tangs<

/short-name>

6. 

uri>

/tangs<

/uri>

7. 

display-name>

Tangs 

Tags"

/display-name>

8. 

 

9. 

tag>

10. 

name>

pages<

/name>

11. 

tag-class>

com.tangs.tag.PageTag<

/tag-class>

//标签类 

12. 

body-content>

empty<

/body-content>

13. 

attribute>

//标签中的属性 

14. 

cpage<

//属性名 

15. 

required>

true<

/required>

//是否必须 

16. 

rtexprvalue>

/rtexprvalue>

//表示该自定义标签的某属性的值可以直接指定或者通过动态计算指定 

17. 

/attribute>

18. 

19. 

total<

20. 

21. 

22. 

23. 

24. 

url<

25. 

26. 

27. 

28. 

/tag>

29.<

/taglib>

xmlversion="

encoding="

DOCTYPEtaglibPUBLIC"

-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN"

"

TangsTags"

//标签类

//标签中的属性

//属性名

//是否必须

//表示该自定义标签的某属性的值可以直接指定或者通过动态计算指定

2.编写标签类

PageTag.java

1.package 

com.tangs.tag;

3.import 

com.opensymphony.xwork2.util.ValueStack;

4.import 

javax.servlet.http.HttpServletRequest;

5.import 

javax.servlet.http.HttpServletResponse;

6.import 

ponents.Component;

7.import 

org.apache.struts2.views.jsp.ComponentTagSupport;

9./** 

分页标签 

@author 

tangs 

*/ 

13.public 

class 

PageTag 

extends 

ComponentTagSupport 

private 

String 

cpage;

//当前页 

total;

//总页数 

url;

//请求地址 

public 

void 

setCpage(String 

cpage) 

this.cpage 

setTotal(String 

total) 

this.total 

setUrl(String 

url) 

this.url 

29. 

30. 

@Override 

31. 

Component 

getBean(ValueStack 

arg0, 

HttpServletRequest 

arg1, 

HttpServletResponse 

arg2) 

32. 

return 

new 

Pages(arg0);

//返回Pages 

Component,分页的逻辑处理都在这个Component中 

33. 

34. 

35. 

//获得参数 

36. 

protected 

populateParams() 

37. 

super.populateParams();

38. 

39. 

Pages 

pages 

(Pages)component;

40. 

pages.setCpage(cpage);

41. 

pages.setTotal(total);

42. 

pages.setUrl(url);

43. 

44.} 

packagecom.tangs.tag;

importcom.opensymphony.xwork2.util.ValueStack;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

importponents.Component;

importorg.apache.struts2.views.jsp.ComponentTagSupport;

/**

*分页标签

*@authortangs

*/

publicclassPageTagextendsComponentTagSupport{

privateStringcpage;

//当前页

privateStringtotal;

//总页数

privateStringurl;

//请求地址

publicvoidsetCpage(Stringcpage){

this.cpage=cpage;

}

publicvoidsetTotal(Stringtotal){

this.total=total;

publicvoidsetUrl(Stringurl){

this.url=url;

@Override

publicComponentgetBean(ValueStackarg0,HttpServletRequestarg1,HttpServletResponsearg2){

returnnewPages(arg0);

//返回PagesComponent,分页的逻辑处理都在这个Component中

//获得参数

protectedvoidpopulateParams(){

Pagespages=(Pages)component;

Pages.java

java.io.IOException;

java.io.Writer;

java.util.logging.Level;

java.util.logging.Logger;

8.import 

10./** 

分页逻辑Bean 

14.public 

getCpage() 

getTotal() 

getUrl() 

44. 

Pages(ValueStack 

arg0) 

45. 

super(arg0);

46. 

47. 

48. 

49. 

boolean 

start(Writer 

writer) 

50. 

result 

super.start(writer);

51. 

try 

52. 

StringBuilder 

str 

StringBuilder();

53. 

isValid 

true;

54. 

55. 

//从ValueStack中取出数值 

56. 

if 

(isValid) 

57. 

(total.startsWith("

%{"

) 

&

total.endsWith("

}"

)) 

58. 

total 

total.substring(2, 

total.length() 

-1);

59. 

(String)this.getStack().findValue(total);

60. 

== 

null 

false 

:

61. 

else 

62. 

false;

63. 

64. 

65. 

66. 

(cpage.startsWith("

cpage.endsWith("

67. 

cpage 

cpage.substring(2, 

cpage.length() 

1);

68. 

(String)this.getStack().findValue(cpage);

69. 

70. 

71. 

72. 

73. 

74. 

75. 

(url.startsWith("

url.endsWith("

76. 

url 

url.substring(2, 

url.length() 

77. 

(String)this.getStack().findValue(url);

78. 

79. 

80. 

81. 

82. 

83. 

84. 

85. 

Integer 

cpageInt 

Integer.valueOf(cpage);

86. 

//当前页与总页数相等 

87. 

(cpage.equals(total)) 

88. 

//如果total 

1,则无需分页,显示“[第1页] 

[共1页]” 

89. 

("

1"

.equals(total)) 

90. 

str.append("

[第 

页]"

);

91. 

[共 

92. 

93. 

//到达最后一页,显示“[首页] 

[上一页] 

[末页]” 

94. 

href='

95. 

str.append(url);

96. 

cpage=1&

total="

+total+"

url="

+url);

97. 

'

[首页]<

/a>

98. 

99. 

cpage="

(cpageInt 

1) 

total+"

100. 

[上一页]<

101. 

102. 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1