相当奇葩的一段jsp片段,原生java和html混杂,把IDE都给整不会了

龙迎风

就是一个页面的分页功能的代码,仿照的是Bilibili的分页功能,代码逻辑为根据当前的页码,决定分页按钮的显示个数和显示值:

<div class="vui_pagenation">

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-side">上一页</button>

<% int pager = (int) request.getAttribute("page"); %>

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-num<%=(pager==1?" vui_button--active-blue vui_button--active":"")%>"><%

out.print("1</button>");

if (pager > 5) {

%>

<span class="vui_pagenation--extend">...</span>

<%

}

int start, total;

if (pager <= 5) {

start = 2;

total = 7;

} else {

start = pager - 2;

total = start + 5;

}

for (int i = start; i < total; i++) {

%>

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-num<%=(i==pager?" vui_button--active-blue vui_button--active":"")%>"><%=i%>

</button>

<%

}

%>

<span class="vui_pagenation--extend">...</span>

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-side">下一页</button>

</div>

如果使用html的高亮,结果就是:

<div class="vui_pagenation">

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-side">上一页</button>

<% int pager = (int) request.getAttribute("page"); %>

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-num<%=(pager==1?" vui_button--active-blue vui_button--active":"")%>"><%

out.print("1</button>");

if (pager > 5) {

%>

<span class="vui_pagenation--extend">...</span>

<%

}

int start, total;

if (pager <= 5) {

start = 2;

total = 7;

} else {

start = pager - 2;

total = start + 5;

}

for (int i = start; i < total; i++) {

%>

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-num<%=(i==pager?" vui_button--active-blue vui_button--active":"")%>"><%=i%>

</button>

<%

}

%>

<span class="vui_pagenation--extend">...</span>

<button class="vui_button vui_pagenation--btn vui_pagenation--btn-side">下一页</button>

</div>

另外,由于IDEA里面button标签老是自动换行,导致生成的html里按钮的值前后都有空格,非常讨厌。所以最后我使用

out.print("1</button>");

在java代码中输出html片段,这下降维打击了属于是。

上述代码可见,jsp虽然比较灵活,但是太过复杂而且丑陋,编写、阅读、调试都非常不方便,这个年头还有用jsp的,可真是珍惜动物了。

主 楼 发布于:2023-06-20 14:50:44 编辑于:2023-06-20 15:00:44回复
心知你我

好朋友简简单单,好情谊清清爽爽,好缘份永永远远!

2 楼 发布于:2024-02-26 06:58:21
回复
风吹林吟

我为自己袋盐

3 楼 发布于:2024-06-22 18:00:21
回复
兔兔熊

既然你诚心诚意地发贴了,那我就大发慈悲地回你一贴。为了防止论坛被破坏,为了维护此楼的和平!贯彻爱与真实的邪恶可爱又迷人的顶贴角色!---穿梭在银河之间的顶贴队

4 楼 发布于:2024-08-25 23:04:27
回复
去向往吧

我今生最大的幸福莫过于认识你、喜欢你、爱上你!我已经很满足了!好喜欢这种爱你的感觉,很爱很爱你!

5 楼 发布于:2024-12-14 14:41:07
回复

发表回复: