JSP 后台可以传回数字,怎样让前台表格显示数字对应的文字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP 后台可以传回数字,怎样让前台表格显示数字对应的文字?相关的知识,希望对你有一定的参考价值。

我详细说说吧,
从后台传回一个list,前台根据list可以在表格中的一列得到多行道路类型。(roadtype在数据库是1,2,3,....这样存的。)
<s:iterator value="list" id="road">
<tr>
<td><s:property value="#road.roadtype"/></td>
</tr>
</s:iterator>
但业务上1对应xxx公路,2对应yyy公路,等等。。
我怎么让这一列下来不是以数字形式而是以对应的文字来显示?

js,jquery ,都行,该怎么写?

JSP 后台可以传回数字,通过数据和文字的映射就可以在表格中显示文字了。
比如有以下数字对应的文字,是通过<s:if>标签来实现数字和文字对应转换的:
<s:iterator value="list" id="road">
<tr>
<td>
<s:if test="#road.mantype==1>学生</s:if>
<s:elseif test="#road.mantype==2>老师</s:elseif >
<s:elseif test="#road.mantype==3>校长</s:elseif >
</td>
</tr>
</s:iterator>
参考技术A <s:iterator value="list" id="road">
<tr>
<td>
<s:if test="#road.roadtype==1>国道</s:if>
<s:elseif test="#road.roadtype==2>省道</s:elseif >
<s:elseif test="#road.roadtype==3>村道</s:elseif >
</td>
</tr>
</s:iterator>本回答被提问者和网友采纳
参考技术B 你可以在实体中写一个临时方法进行转换,比如叫getRoadTypeName,这样前台
<s:property value="#road.roadTypeName"/>就行了,看着也简洁。追问

恩后台这个写法应该可以,
但是要求的是用js,jquery在前台写。这个怎么写?

追答


if(""=='1')
document.write("1号公路")
else
...

参考技术C 在jsp页面上用if判断,当显示什么数字对应显示什么文字,或是在javabean中判断,然后在页面上调用javabean 参考技术D 具体点,不大明白

求助:怎样在excel表格中查找后实现自动按照查找顺序排序?

如果你查找的范围内有相同的几个数据,会在查找窗口自动显示顺序。
如果你要让查找的数据自动排序最好使用筛选---排序。
参考技术A 排序是数据处理中的经常性工作,Excel排序有序数计算(类似成绩统计中的名次)和数据重排两类。本文以几个车间的产值和名称为例,介绍Excel 2000/XP的数据排序方法。

一、数值排序

1、RANK函数

RANK函数是Excel计算序数的主要工具,它的语法为:RANK(number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则以降序方式给出结果,反之按升序方式)。

例如要计算E2、E3、E4单元格存放一季度的总产值,计算各车间产值排名的方法是:在F2单元格内输入公式 “=RANK(E2,$E$2:$E$4)”,敲回车即可计算出铸造车间的产值排名是2。再将F2中的公式复制到剪贴板,选中F3、F4单元格按 Ctrl+V,就能计算出其余两个车间的产值排名为3和1。美文坊提醒大家如果B1单元格中输入的公式为“=RANK(E2,$E$2:$E$4,1)”,则计算出的序数按升序方式排列,即2、1和3。需要注意的是:相同数值用RANK函数计算得到的序数(名次)相同,但会导致后续数字的序数空缺。假如上例中F2单元格存放的数值与F3相同,则按本法计算出的排名分别是 3、3和1(降序时)。

2、COUNTIF函数

COUNTIF函数可以统计某一区域中符合条件的单元格数目,它的语法为COUNTIF(range,criteria)。其中range为参与统计的单元格区域,criteria是以数字、表达式或文本形式定义的条件。其中数字可以直接写入,表达式和文本必须加引号。

仍以上面的为例,F2单元格内输入的公式为“=COUNTIF($E$2:$E$4,”>“&E2)+1”。计算各车间产值排名的方法同上,结果也完全相同,2、1和3。

此公式的计算过程是这样的:首先根据E2单元格内的数值,在连接符&的作用下产生一个逻辑表达式,即“>176。7”、 “>167。3”等。COUNTIF函数计算出引用区域内符合条件的单元格数量,该结果加一即可得到该数值的名次。很显然,利用上述方法得到的是降序排列的名次,对重复数据计算得到的结果与RANK函数相同。

3、IF函数

Excel自身带有排序功能,可使数据以降序或升序方式重新排列。如果将它与IF函数结合,可以计算出没有空缺的排名。以上例中E2、E3、E4单元格的产值排序为例,具体做法是:选中E2单元格,根据排序需要,单击Excel工具栏中的“降序排序”或“升序排序”按钮,即可使工作表中的所有数据按要求重新排列。

假如数据是按产值由大到小(降序)排列的,而您又想赋予每个车间从1到n(n为自然数)的排名。可以在G2单元格中输入1,然后在G3单元格中输入公式“=IF(E3=E2,G3,G3+1)”,只要将公式复制到G4等单元格,就可以计算出其他车间的产值排名。

二、文本排序

选举等场合需要按姓氏笔划为文本排序,Excel提供了比较好的解决办法。如果您要将上例数据表按车间名称的笔划排序,可以使用以下方法:选中排序关键字所在列(或行)的首个单元格,单击Excel“数据”菜单下的“排序”命令,再单击其中的“选项”按钮。选中“排序选项”对话框“方法”下的“笔画排序 ”,再根据数据排列方向选择“按行排序”或“按列排序”,“确定”后回到“排序”对话框。如果您的数据带有标题行,则应选中“有标题行”(反之不选),然后打开“主要关键字”下拉列表,选择其中的“单位”,选中排序方式(“升序”或“降序”)后“确定”,表中的所有数据就会据此重新排列。此法稍加变通即可用于“第一名”、“第二名”等文本排序,请读者自行摸索。

三、自定义排序

如果您要求Excel按照“金工车间”、“铸造车间”和“维修车间”的特定顺序重排工作表数据,前面介绍的几种方法就无能为力了。这类问题可以用定义排序规则的方法解决:首先单击Excel“工具”菜单下的“选项”命令,打开“选项”对话框中的“自定义序列”选项卡。选中左边“自定义序列”下的“新序列 ”,光标就会在右边的“输入序列”框内闪动,您就可以输入“金工车间”、“铸造车间”等自定义序列了,输入的每个序列之间要用英文逗号分隔,或者每输入一个序列就敲回车。如果序列已经存在于工作表中,可以选中序列所在的单元格区域单击“导入”,这些序列就会被自动加入“输入序列”框。无论采用以上哪种方法,单击“添加”按钮即可将序列放入“自定义序列”中备用。

使用排序规则排序的具体方法与笔划排序很相似,只是您要打开“排序选项”对话框中的“自定义排序次序”下拉列表,选中前面定义的排序规则,其他选项保持不动。回到“排序”对话框后根据需要选择“升序”或“降序”,“确定”后即可完成数据的自定义排序。

需要说明的是:显 示在“自定义序列”选项卡中的序列(如一、二、三等),均可按以上方法参与排序,请读者注意Excel 提供的自定义序列类型。本回答被提问者采纳

以上是关于JSP 后台可以传回数字,怎样让前台表格显示数字对应的文字?的主要内容,如果未能解决你的问题,请参考以下文章

怎样将excel表格数字居中

怎样解决Excel单元格数字显示E的情况?

在jsp页面中用jstl取值,后台都能取到,但是前台不显示

java后台配置信息如何传递到前端jsp页面

MFC的编辑框里不能按时间依次显示递增的数字

从数据库取到的日期是long类型的数字,如何做到在前台jsp显示的是其对应的date