首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Struts 2选择标签排序值问题

这个问题与Struts 2框架的选择标签排序值有关。在Struts 2中,选择标签用于在页面上显示数据,而排序值则用于对数据进行排序。

具体来说,在Struts 2中,选择标签通常用于从数据库或其他数据源中检索数据。这些数据源中的每个数据行都有一个特定的排序值,这个排序值决定了该数据行在列表或表格中的显示顺序。

因此,在编写Struts 2代码时,需要确保选择标签正确地处理排序值。这可以通过使用Struts 2的内置属性来实现,例如${sort.order}可以用于指定排序顺序,而${sort.property}可以用于指定要排序的字段名。

以下是一个示例代码片段,演示如何使用Struts 2选择标签来显示数据,并按照数据源中的排序值进行排序:

代码语言:txt
复制
<s:select name="example" list="exampleList" listKey="exampleId" listValue="exampleName"
        headerKey="0" headerValue="请选择" />
<s:iterator value="exampleList" var="example">
  <s:select name="example.sort.property" list="sortList"
            listKey="sortKey" listValue="sortName"
            headerKey="0" headerValue="请选择" />
  <s:param name="sort.order.${example.sort.property}"
            value="${example.sort.order}" />
  <tr>
    <td>${example.exampleId}</td>
    <td>${example.exampleName}</td>
    <td>${example.sort.order}</td>
  </tr>
</s:iterator>

在这个示例中,我们使用<s:select>标签来选择要显示的数据源,并使用<s:iterator>标签来迭代每个数据行。在迭代器中,我们使用<s:select>标签来选择每个数据行要排序的字段,并使用<s:param>标签来将排序值传递给Struts 2的内置属性。最后,我们在表格中使用<tr>标签来显示每个数据行。

需要注意的是,在Struts 2中,选择标签的排序值是使用内置属性sort.order来指定的。因此,在代码中,我们使用${example.sort.order}来获取排序值。同时,我们使用<s:param>标签来将排序值传递给Struts 2的内置属性。这样,Struts 2就可以根据排序值来自动排序表格中的数据行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

struts2标签详解

struts2标签讲解 要使用Struts2标签,只需要在JSP页面添加如下一行定义即可: Struts2标签共分为五大类...value=”%{#newMergeList}”> 6、排序标签:用于对一组枚举进行排序,属性comparator指向一个继承java.util.Comparator...:用以输出页面的栈调试信息,通常在进行程序调用时使用,便于查找JSP页面中的错误 6)引用资源文件标签:用于加载资源包到栈,它可以允许标签访问任何资源包的信息,而不只是当前action...targetDiv" showLoadingText="false" indicator="%{getText('loadingImage')}" /> 4)日期选择标签...:用以弹出一个日期和时间的选择窗口,displayFormat属性指定要选择日期的格式,name表示当前组件的属性的对象,value表示默认,label表示显示的文本 <sx:datetimepicker

1.4K20

struts2标签库----数据标签详解

上篇文章我们介绍struts2标签库中的控制标签的基本使用和部分原理,本篇文章接着了解下标签库中有关数据标签的使用和原理。...标签:用于调试查看ognl上下文中内容 include标签:用于包含其他的jsp或者servlet页面资源 param标签:主要配合别的标签作为子标签使用 push标签:用于将某个放入到root栈顶...二、bean标签      bean标签主要用来创建一个Javabean的实例,其中又可以使用param标签为该Javabean实例传递属性。...四、debug标签      该标签主要用于调试,查看ValueStack中的各个参数的实际的情况。...有关于struts2标签库的数据标签已经简单介绍完了,由于没有结合具体的项目,所以介绍的很浅显,不当之处,望指出!

1.1K100

Struts2动态表单处理 - UI标签栈详解

动态表单处理是Struts2的一个重要特性,它允许我们在前端生成动态表单,并通过UI标签栈来处理表单数据。...本文将深入介绍Struts2中的动态表单处理,以及如何使用UI标签栈来处理表单数据,结合实际项目中的应用场景进行说明。...UI标签Struts2提供了一系列的UI标签,如、等,用于生成表单元素。栈则是一个用于存储和访问数据的数据结构,用于在页面和后端之间传递数据。...总结 本文深入介绍了Struts2中动态表单处理的方法,以及如何使用UI标签栈来处理表单数据。...动态表单使得应用程序更加灵活和易于扩展,而Struts2的UI标签栈提供了强大的工具来实现这一目标。

12310

(19)Struts2_表单标签

表单标签 ---- 概述 表单标签将在 HTML 文档里被呈现为一个表单元素 使用表单标签的优点: 表单回显 对页面进行布局和排版 标签的属性可以被赋值为一个静态的或一个 OGNL 表达式....表单标签的共同属性 ? 该属性只在没有使用 simple 主题时才可以使用. ---- form 标签 form 标签用来呈现 HTML 语言中的表单元素 ?...默认为 false, 它决定着在表单回显时是否显示输入的密码. submit 标签 submit 标签将呈现为一个提交按钮. 根据其 type 属性的....-- 表单提交后,重新跳转到form-tag.jsp --> <action name="save" class="com.qbz.<em>struts</em><em>2</em>_02.UserAction" method...该复选框元素通常用于提交一个布尔 当包含着一个复选框的表单被提交时, 如果某个复选框被选中了, 它的将为 true, 这个复选框在 HTTP 请求里增加一个请求参数.但如果该复选框未被选中, 在请求中就不会增加一个请求参数

1.6K10

struts2之OGNL和struts2标签库和ValueStack对象

EL表达式语言:用于页面取值,jsp页面取值的标准(默认可以直接使用,应用范围更加广泛);        OGNL表达式语言:struts2标签默认支持的表达式语言,必须配置struts标签使用,不能离开...struts2标签直接使用; (4)OGNL 有一个上下文(Context)概念,[OgnlContext对象:OgnlContext对象是ognl表达式语言的核心];      其实上下文就是一个...(5)ognl表达式语言取值,取根元素的,不用带#符号;ognl表达式语言取值,取非根元素的,需要带#符号; 用一个OGNL和struts标签结合的实例演示一下struts标签的强大功能: 1:第一还是引入...(2):用户每次访问struts的action,都会创建一个Action对象、栈对象、ActionContext对象;  然后把Action对象放入栈中; 最后再把栈对象放入request中,传入...-- struts的调试标签:可以观测栈数据 --> 45 46 47 1 package com.bie.lesson09;

1K60

SQL - nulls排序问题

给字段排序时遇到的null问题 当我们使用order by来为指定的字段进行排序时,如果db中该字段的存在着null,那么在排序时这些null会不会参与排序呢?...如果参与排序的话,又是以怎样的标准来排序? 在不同的DB中,对于null的默认不同。...null,那么这条sql的结果集就如下所示: 1 2 3 4 5 |id|student|age| |1|小明|10| |2|小红|12| |3|小黑|null| |4|小白|null| 因为null...在实际的业务中,null值参与的排序这可能会造成一些不必要的问题,有时候甚至会造成一个bug并且难以被发现。...可以看看下边的链接: mysql 空排序问题 PostgreSQL 数据库NULL的默认排序行为与查询、索引定义规范 - nulls first\last, asc\desc 警告 本文最后更新于

1.3K20

Struts2 中的栈的理解

通过对struts2的一段时间的接触,将自己对OGNL的核心栈说说,栈:简单的说,就是存放action的堆栈,当我们提交一个请求道服务器端 action时,就有个堆栈,如果action在服务器端进行跳转...,所有action共用一个堆栈,当需要保存在action中的数据时,首先从栈顶开始 搜索,若找到相同的属性名(与要获得的数据的属性名相同)时,即将取出,但这种情况可能出现找到的不是我们想要的,那么解决此问题需要用...在处理完上述工作后,Struts 2就会调用拦截器链中的拦截器,当调用完所有的拦截器后,最后会调用Action类的Action方法,在调用Action方法之前,会将 ValueStack对象顶层节点中的属性赋给...也就是说,在Struts 2调用拦截器的过程中,可以改变ValueStack对象中属性的,当改变某个属性后,Action类的相应属性就会变成在拦截器中最后改变该属性 的这个。    ...也就是说,在Struts 2调用拦截器的过程中,可以改变ValueStack对象中属性的,当改变某个属性后,Action类的相应属性就会变成在拦截器中最后改变该属性 的这个

63130

Struts2中:栈(ValueStack)、栈中的Action实例、Struts2中的其他命名对象 小结

栈(ValueStack)   Struts2将OGNL上下文设置为Struts2中的ActionContext(内部使用的仍然是OgnlContext),并将栈设为OGNL的根对象。   ...Struts2提供了一个特殊的OGNLPropertyAccessor,它可以自动查找栈内的所有对象(从栈顶到栈底),直接找到一个具有你所查找的属性的对象,找不到,就报错。...正如你所见,访问栈中的对象属性或方法,无须指明对象,也不用“#”,就好像栈中的对象都是OGNL上下文中的根对象一样。这就是Struts2在OGNL基础上做出的改进。...栈中的Action实例   Struts2框架总是把Action实例放在栈顶。...Struts2中的其他命名对象   Struts2还提供了一些命名对象,这些对象没有保存在栈中,而是保存在ActionContext中,因此访问这些对象需要使用“#”标记。

96810
领券