`
aine_pan
  • 浏览: 44859 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Struts2 中select使用心得

    博客分类:
  • dojo
阅读更多
最近学习SHH,发现真的很蛋疼,封装的太多,debug起来就是觉得不爽,搞了所有的source再学习,感觉才好点。
今天记录点Ajax select标签。
先看看实现:
 <s:url id="temp" value="**.action"></s:url>
<sx:div href="%{temp}" theme="simple"/>

这个struts是2.1版本以上的,ajax div标签已经改变了。
看看后台响应action的地方:
	public String list(){
		tempList = service.getList();
		return SUCCESS;
	}

调用逻辑层返回用于显示在页面上的数据源List,当然get set方法不能少。
在返回的页面放一个select标签:
<s:select list="tempList" listKey="id" listValue="valueName" cssStyle="width:145px;" 
name="paraName" value ="paraValue" emptyOption = "false" headerKey="0" headerValue="请选择..."/>

tempList 对应的是后台的list名称,必须有get set构造器
listKey="id" listValue="valueName" 对应的是需要展现的list的key和value的栏位名,用于下发select时候。
name="paraName" 表示当前控件的名称,提交表单中的name
value ="paraValue" 表示当前控件的值,是用户选择后的值
headerKey 表示默认加一个选项,显示成“请选择。。。”的样式

至此已经可以展现动态的list在页面了,下面主要解决如果默认让select选中一个值,比如在edit页面,load下来这个list的时候,希望默认选中之前的值。本来我试着通过前台的ajax来实现,因为<sx:div>标签有afterNotifyTopics属性,即在ajax加载完成之后发表的话题清单。大约要这样实现:
<script type="text/javascript">
dojo.event.topic.subscribe("topicName",function(event,widget){
	dojo.byId("divName").value = 0;
});
</script>

这样就要求div定义如下:
<s:url id="temp" value="**.action">
		    	</s:url>
		    	<sx:div id ="divName" href="%{temp}“ afterNotifyTopics = "topicName"  theme="simple"/>

我最初以为这样可以实现选择select的某个值,但是结果可想而知,根本不能实现,因为div标签被dojo转义了,dojo.byId("divName")取到的是什么对象我也不太清楚,找不到设置选中项的属性,试了好久,如果哪位知道可以告诉我。

后来换了思路,使用了后台的赋值逻辑,struts已经帮我们封装好了,只要你数据源中存在对应的值,并且相应的构造函数都有了,struts会自动将值填上去的(model驱动)。前提是在页面上用param标签将需要需要显示的值传给后面的显示页面:
<s:url id="temp" value="**.action">
  <s:param name="paraName" value="paraValue" />
</s:url>
<sx:div href="%{temp}" theme="simple"/>

我之前犯错了,在**.action中没有写需要显示的值的构造函数。
其实回过头来想想,页面赋值肯定不用那么麻烦的自己去实现,struts肯定已经想到了,而使用param标签可以在action中赋值对应的值,这样在load显示页面的时候就肯定已经有值了。struts其实帮我们做了大部分的事情,而我们只要知道,我们还需要填些什么。
终于搞完了,自学还是需要点力气的。
记录以备查看
分享到:
评论

相关推荐

    struts2校验框架使用心得.txt

    ### Struts2校验框架使用心得 #### 一、Struts2校验框架概述 Struts2是一款基于Java的企业级Web应用开发框架,它能够帮助开发者构建出结构清晰、易于维护的应用程序。其中,Struts2提供的校验框架是其核心特性之一...

    struts2实现页面select标签默认选中

    在Struts2框架中,实现页面`&lt;select&gt;`标签默认选中的功能是非常实用且常见的需求。这不仅可以提高用户体验,还能让界面看起来更加专业。本文将详细介绍如何通过Struts2的相关标签来实现这一功能。 ### Struts2框架...

    struts2标签中select的三种写法

    在本文中,我们将深入探讨Struts2中`select`标签的三种不同的使用方法,以及如何从Action类动态获取数据填充这些选项。 ### 一、静态定义`select`标签 1. **静态数据**:在简单的场景下,我们可以直接在JSP页面中...

    struts2学习心得

    ### Struts2学习心得:深入理解Struts2框架的基本配置与初学者指南 #### Struts2框架概述 Struts2是Struts框架的升级版本,它继承了Struts1的优点并在此基础上进行了改进,提供了更丰富的功能和更好的性能。Struts...

    Struts2学习笔记与心得

    ### Struts2与Struts1对比及特性解析 #### 一、Struts2与Struts1的区别 在探讨Struts2的学习心得之前,我们先来...通过以上的学习心得分享,希望能够帮助初学者更好地理解和掌握Struts2框架的基本概念和使用方法。

    Struts2学习心得

    根据提供的文件信息,本文将围绕“Struts2学习心得”这一主题进行展开,重点解析Struits2框架中的国际化(i18n)功能及其在实际项目中的应用方式,并结合具体的代码示例进行深入探讨。 ### Struts2简介 Struts2是...

    struts操作select标签实例

    在Struts中,`html:select`标签是用于创建HTML下拉列表的一个重要元素,特别适用于用户界面中需要选择单一或多个选项的场景。本文将深入探讨`html:select`标签的使用方法及其相关知识点。 首先,我们需要理解`...

    struts2标签使用例子

    - 在JSP页面中使用标签,如`s:textfield name="username"`绑定Action的username属性。 - 配置Struts2的配置文件(struts.xml或struts.properties),定义Action和结果。 通过以上介绍,我们可以看出Struts2标签库...

    struts2 select标签通过hibernate读后台数据,使select选项为后台数据

    以下是一个简单的示例,展示了如何在Struts2中使用`select`标签与Hibernate配合: ```java // Action类 public class MyAction extends ActionSupport { private List&lt;MyEntity&gt; options; // getter和setter省略 ...

    Struts2-Double-Select-Example

    3. **创建JSP页面**:创建一个JSP页面(如double_select.jsp),使用Struts2的标签库来渲染表单。包括两个`&lt;s:select&gt;`标签,一个用于父级,一个用于子级。例如: ```jsp &lt;s:select name="parentId" list=...

    struts2帮助文档

    struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2...

    struts实现select级联

    当用户在第一个select中选择一个选项时,第二个select的选项将根据前者的选值动态更新。 在Struts2中,我们可以利用Action类、ActionForm、结果类型(Result)以及JSP页面来实现这个功能。以下是实现步骤: 1. **...

    Struts2漏洞检查工具Struts2.2019.V2.3

    使用此工具可以帮助企业及时发现并修复Struts2框架中的安全漏洞,减少网络安全风险,确保数据和系统的安全。同时,对于开发者来说,了解Struts2的安全隐患以及如何避免它们是至关重要的,这样才能更好地保障应用的...

    Struts2-API+Struts2中文帮助文档

    文档中还会讲解如何使用Struts2的异常处理机制,以及如何调试和解决常见的运行时问题。 总的来说,这个压缩包对于想深入理解并熟练掌握Struts2框架的开发者来说是宝贵的资源。通过API文档可以了解框架的底层机制,...

    struts2jar包

    在项目中使用Struts2时,我们需要配置struts2的主配置文件(struts.xml),定义Action、结果类型、拦截器栈等。Action是业务逻辑的入口点,Result表示一个操作完成后转向的页面或结果。拦截器是Struts2的一大特色,...

    j2ee-struts2-Select_DoubleSelect.rar_struts2 doubleselect

    下面我们将详细探讨这两个标签以及如何在J2EE项目中使用它们。 1. `&lt;s:select&gt;`标签: 这个标签用于生成HTML的`&lt;select&gt;`元素,它允许你动态地从服务器端获取数据并构建选项列表。基本语法如下: ```jsp &lt;s:...

    struts2-scan_struts2-scan_struts2scan_scan_struts2漏洞_

    这个标题和描述提到的"struts2-scan"是一种工具,专门用来检测Struts2框架中的安全漏洞。 Struts2漏洞通常涉及到框架的核心组件,例如OGNL(Object-Graph Navigation Language)表达式,这是一种强大的语言,允许在...

    留言板留言板struts2留言板struts2

    下面将详细介绍Struts2框架以及在该项目中可能涉及的关键知识点。 1. **Struts2框架概述**:Struts2是Apache软件基金会下的开源项目,它继承了Struts1的优点,并融合了WebWork框架的许多特性。Struts2的主要目标是...

Global site tag (gtag.js) - Google Analytics