<%@tag description="fixed width text" pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@attribute name="text" required="true" rtexprvalue="true" type="java.lang.String"%>
<%@attribute name="widthInEm" required="true" rtexprvalue="true" type="java.lang.Float"%>
<%
String text = (String)jspContext.getAttribute("text");
Float widthInEm = (Float)jspContext.getAttribute("widthInEm");
String result = HtmlTagUtils.toFixedWidth(text, widthInEm);
jspContext.setAttribute("result", result);
%>
${result}
<%@ taglib tagdir="/WEB-INF/tags" prefix="t"%>
<t:fixedWidth text="${user.realName}" widthInEm="3" />
public class HtmlTagUtils {
public static String toFixedWidth(String text, Float widthInEm) {
String result = text;
if (widthInEm != null && text.length() < widthInEm && text.length() > 1) {
Float space = (widthInEm - text.length()) / (text.length() - 1);
Character[] characters = toCharacters(text);
List list = (List) Arrays.asList(characters);
result = join(list, "<span style='display: inline-block; zoom: 1; width:" + space + "em'></span>");
}
return result;
}
public static String join(Iterable pColl, String separator) {
Iterator oIter;
if (pColl == null || (!(oIter = pColl.iterator()).hasNext())) {
return "";
}
StringBuilder oBuilder = new StringBuilder(String.valueOf(oIter.next()));
while (oIter.hasNext()) {
oBuilder.append(separator).append(oIter.next());
}
return oBuilder.toString();
}
public static Character[] toCharacters(String str) {
char[] chars = str.toCharArray();
Character[] result = new Character[chars.length];
for (int i = 0; i < chars.length; i++) {
result[i] = chars[i];
}
return result;
}
}
分享到:
相关推荐
避免为了凑字数而拉长标题,同时要防止重复字眼的出现。标题结构应当明确,通常采用“主体+行为+客体”的主谓宾形式,避免使用倒装句和被动语态,语言表达要贴近日常用语。 此外,标题内容应充实,避免空洞无物。...
标题"银行理财月报新发理财产品呈现期限拉长趋势-27页.pdf.zip"揭示了这份报告的核心内容。它表明这是一份关于银行理财产品的月度报告,重点关注的是最近发行的理财产品。其中提到的“期限拉长趋势”意味着报告将...
标题中的“2013年生产车间拉长年终总结”表明这是一个关于制造业生产管理的文档,描述也证实了这一点。文档的标签为“范文”,暗示它可能是一个示范性的年度工作总结,适用于其他类似的职务或行业。 在内容部分,...
标题“内地房地产周度观察:交易量环比小幅上升,去化周期有所拉长”揭示了本周内地房地产市场的主要趋势。"交易量环比小幅上升"意味着与上周相比,本周房地产市场的成交量出现了一定程度的增长,但增长幅度并不大。...
以下是基于标题和描述所涵盖的一些关键知识点: 1. **传媒中报行情**:中报,即中期报告,通常指上市公司在每个财年结束后的半年度业绩报告,揭示了公司在过去六个月的经营状况。分析传媒中报行情,投资者可以了解...
return "这是一个比较长的标题,所以滑动条会相应拉长"; // 其他页面... } return super.getPageTitle(position); } ``` 通过以上步骤,我们便能实现滑动条长度随标题长度动态变化的功能。这个特性有助于提高...
标题和描述都指向了一个核心信息:7月份国内手机出货量出现回升,同时半导体供应周期持续延长。以下是对这两个关键知识点的详细解读。 首先,国内手机出货量回暖这一现象表明,中国智能手机市场在经历了可能的下滑...
标题中的“基于jQuery的代码显示区域自动拉长效果”指的是在网页中,当用户将鼠标悬停在包含代码的预格式化文本(`<pre>`标签)区域时,该区域的宽度会自动扩展,以便更好地展示代码内容,提高阅读体验。这种效果常...
报告标题和描述涉及的核心知识点是化工行业的磷酸铁锂市场及其对磷化工产业的影响。磷酸铁锂作为一种重要的锂电池正极材料,随着新能源汽车和储能市场的快速发展,正逐渐成为磷化工产业新的增长点。 磷酸铁锂(LFP...
然而,有时我们可能需要实现更复杂的效果,比如标题图片在用户下拉时逐渐变大的功能。这个效果常用于新闻应用或者电商应用的顶部 banner,能增加用户的交互体验。下面我们将详细探讨如何实现一个自定义的`ScrollView...
标题中提到的知识点主要有两个方面:一是CSS样式的限制;二是防止表格因连续英文文本自动拉长和控制大图片在网页中的宽度。下面将详细介绍这些知识点。 ### CSS样式的限制 CSS(层叠样式表)是用来描述网页呈现...
在QT/C++编程环境中,创建一个可移动且可拉伸改变大小的无边框对话框是一项常见的需求,尤其是在设计自定义界面时。无边框对话框可以提供更加自由的布局和交互体验,使得用户能够根据自己的需要调整窗口的大小和位置...
在字体设计方法上,字形变化是常用的手法,如拉长字体显得正式且权威,压扁则更显亲和。倾斜的字体可以营造动态和速度感,弯曲、立体化和图形化的处理则可以丰富文字的视觉效果,使其更具表现力。然而,无论采用何种...
`imshow`函数用于显示图像,而`title`函数则添加了子窗口的标题。 接下来的关键步骤是使用`imadjust`函数进行灰度拉伸。这个函数的基本形式是`K = imadjust(I)`,它会自动调整图像`I`的灰度值,使得图像的对比度...
1能让按钮发出声音的脚本 2漂亮的时间显示 3将图片图片固定在页面左上角 4图象滚动公告版 5让JavaScript弹出窗口变得体贴一些 6浮动广告 7巧用Javascript代码来限制文本的字节数 ...20状态栏文字拉长的效果
标题应包含促销词、核心关键词、属性关键词和下拉长尾词,以圈定目标人群并避开激烈竞争,节省成本。 **方法二:成熟店铺利用直通车抢占流量高地** 对于已经有一定基础的店铺,可以通过以下方式最大化回报: 1. *...
标题提到的“CSS纵向拉伸或随意放大缩小字体的宽高比例”正是解决这类问题的一种技术手段。以下将详细介绍如何利用CSS来实现这个功能。 首先,我们要明白,常规情况下,CSS中的`font-size`属性用于设置文本的大小,...
首先,长投影设计是一种流行的设计趋势,它通过在图形元素下方添加一种拉长的阴影效果,创造出三维的视觉深度,使PPT看起来更加立体和现代。这种设计风格尤其适合用于商业演示,因为它可以增强图表、图片或文本的...