`
jack547155187
  • 浏览: 2749 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

用js操作struts2标签出现的问题

阅读更多
   使用struts2标签会带来很多便利,但在用js控制(定位及获取属性值等)struts2标签时要特别注意,因为struts2标签在页面最终显示时,实际上还是转换为html标签来显示,js(包括jquery和prototype等js框架)也是对基本的html标签来定位及获取其属性值;若用js操作html标签的方式来直接操作struts标签,可能会遇到一些“很怪异”(从代码逻辑上找不到错误)的问题,让人很郁闷,如何解决这种问题?
    最简单的方法是:用html标签代替struts2标签。但这样便无法享受struts2标签所带来的便利,而且会在页面中掺杂很多jsp代码(<%....%>)。我比较喜欢另一种方法:页面显示后,查看其经过浏览器解析后的源码(浏览器自带有查看页面源码的功能),其实就是strut2标签解析为对应的html标签,再用js操作就比较简单了,不用在此赘述。建议用fireFox浏览器调试web页面,可以用其fireBug功能调试js。
    下面看一个例子:
Html代码为:
<div>
录入选项:<s:radio id=”opt” name="opt" list="#{'theTeach':'人员理论教学','cliTeach':'人员临床教学','teaArticle':'教学管理文章','giftCourse':'精品课程','giftBook':'精品教材','excePaper':'指导优秀论文','eduCheck':'教育年度考核子集'}" value="'theTeach'" listKey="key" listValue="value">
</s:radio>
</div>
Js代码为:
var s=document.getElementById(“opt”).value;
或者jquery代码为:
var s=$(“#opt”).attr(“value”);
表面上看起来都没有错误,但实际上s却得不到值,为什么呢?
查看浏览器解析后的源码如下:
<div>
录入选项:<input type="radio" name="opt" id="opttheTeach" checked="checked" value="theTeach"/><label for="opttheTeach">人员理论教学</label>
<input type="radio" name="opt" id="optcliTeach" value="cliTeach"/><label for="optcliTeach">人员临床教学</label>
<input type="radio" name="opt" id="optteaArticle" value="teaArticle"/><label for="optteaArticle">教学管理文章</label>
<input type="radio" name="opt" id="optgiftCourse" value="giftCourse"/><label for="optgiftCourse">精品课程</label>
<input type="radio" name="opt" id="optgiftBook" value="giftBook"/><label for="optgiftBook">精品教材</label>
<input type="radio" name="opt" id="optexcePaper" value="excePaper"/><label for="optexcePaper">指导优秀论文</label>
<input type="radio" name="opt" id="opteduCheck" value="eduCheck"/><label for="opteduCheck">教育年度考核子集</label>
</div>
由此可看出上述js代码是不可能获取值的。可改为:
var s=$(“:radio:checked”).attr(“value”);
     另外,要特别注意上述<s:radio>标签中的属性value=“’theTeach’”设置默认选中项,要求value的值必须与list属性中的key值完全相同。
0
0
分享到:
评论

相关推荐

    struts2标签库

    此外,Struts2还提供了Ajax标签,用于支持异步JavaScript和XML的交互,增强用户体验。 ValueStack是Struts2框架中的核心概念,它是一个对象栈,包含了Action对象、模型对象以及不同作用域的固定名称对象(如#...

    Struts2源码和标签使用和配置

    总的来说,这个教程应该会涵盖Struts2的基本概念、配置方式、标签的使用技巧,以及EXT3.0在前端展示中的应用,旨在帮助开发者快速掌握Struts2框架,并能有效利用其特性构建高效的企业级应用。通过学习和实践,你可以...

    javascript中读取Struts2标签datetimepicker的值.doc

    本文将详细介绍如何在JavaScript中读取Struts2中的`s:datetimepicker`标签所绑定的值,并进行相关的操作。 #### Struts2中的`s:datetimepicker`标签简介 `s:datetimepicker`是Struts2提供的一个用于日期时间选择的...

    struts2-4标签库文件上传下载

    要使用Struts2标签,首先需要确保项目中包含了Struts2的核心库文件`Struts2-core-2.1.11.jar`。接着,在JSP页面中通过以下代码导入Struts2的标签库: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; ``` 在...

    用JavaScript,Struts2和MVC模式做增删改查

    总结起来,使用JavaScript、Struts2和MVC模式实现一个包含增删改查和图片上传功能的Web应用,涉及到的主要技术包括Struts2框架的配置和Action处理,MVC模式下的模型、视图、控制器设计,数据库操作的DAO和服务层,...

    Struts2标签库详解

    Struts2能够与Hibernate、Spring等框架无缝集成,通过标签库简化数据持久化和依赖注入操作。例如,`&lt;s:hibernate&gt;`标签用于执行HQL查询,`&lt;s:spring&gt;`标签则用于Spring的Bean操作。 总结,Struts2标签库大大简化了...

    HTML标签转STRUTS标签

    HTML标签和STRUTS标签是两种在Web开发中常见的元素,它们在构建动态网页时起着关键作用。本文将深入探讨HTML标签与...在实际应用中,理解STRUTS标签的特性和功能,以及如何正确使用转换工具,是成功进行转换的关键。

    struts2标签 全选,反选

    在探讨Struts2框架中的全选与反选功能时,我们深入分析了如何利用Struts2的标签系统以及JavaScript来实现这一需求。Struts2框架是Java Web开发中广泛使用的一个MVC(Model-View-Controller)框架,它提供了一系列...

    struts2中循环标签id的设置

    在Struts2框架中,`s:iterator`标签是一个非常重要的循环遍历工具,它用于迭代集合中的元素,如ArrayList、HashMap等,并且在每个迭代过程中可以为HTML元素生成唯一的ID,这对于前端JavaScript或者jQuery操作DOM元素...

    struts2、JSTL、Spring、JS、JSP标签大全

    Struts2、JSTL、Spring、JavaScript(JS)以及JSP标签是Java Web开发中的核心组件,它们各自承担着不同的职责,共同构建了强大的Web应用程序。以下是对这些技术的详细解释: 1. **Struts2**:Struts2是一个基于MVC...

    struts2标签集

    Struts2标签集是Java开发Web应用时常用的一组组件,它们主要用于简化视图层的构建,提升开发效率。Struts2框架的核心是MVC(Model-...学习和理解Struts2标签库的API,结合实践操作,是提升Java Web开发技能的有效途径。

    struts1标签库详解

    ### Struts1标签库详解:核心知识点概览 #### Bean Tags: 创建与管理Bean - **bean:cookie**: 此标签用于从客户端请求中提取cookie的值。它根据`name`属性来查找特定的cookie,如果`multiple`属性未设置,则返回一...

    tab标签页和struts2登陆.rar

    实现Tab标签页的方式有很多,例如使用HTML、CSS和JavaScript原生编写,或者利用前端库如jQuery UI、Bootstrap或Vue.js等提供的组件。 在Struts2框架中,实现一个登录功能涉及到多个步骤。首先,你需要创建一个登录...

    JSP_struts2标签大全.doc

    1. `s:a` 标签:这是Struts 2的Action标签,用于定义一个链接或者按钮,它可以触发一个Action调用,通常与`action`属性一起使用,指定要调用的Action名称。 2. `s:actionerror` 和 `s:actionmessage` 标签:这两个...

    Struts标签- HTML标签

    在Struts表单中使用Hibernate实体类作为ActionForm,可以直接通过HTML标签与数据库对象交互,简化数据操作。 7. **Struts 1与Struts 2的区别** 在Struts 2中,HTML标签被替换为更强大的Struts Tags,提供了更多的...

    struts2-tags-API.rar

    Struts2标签经常与OGNL(Object-Graph Navigation Language)表达式一起使用,允许动态访问和操作对象的属性。例如,`s:property value="%{#session.user.name}"`将显示Session中的user对象的name属性值。 **7. ...

    Struts_2_标签库(文档手册)_Tags-API-CLSW-JSP

    标题和描述中提到的知识点是关于Struts 2框架中的标签库使用,特别是与JSP相关的部分。Struts 2框架是一种基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,用于构建动态、可扩展的Web应用。其标签...

    struts2所需jar包 lib.zip

    8. **javassist**: 这是一个字节码操作库,Struts2使用它来实现动态方法调用和拦截器的运行时生成。 9. **log4j**: 日志记录库,用于调试和监控应用的运行情况。 10. **servlet-api**: Java Servlet API,所有Web...

    java分页。struts2标签

    根据给定的文件信息,我们将深入探讨“Java分页与Struts2标签”的知识点,以及如何在实际项目中实现分页功能。 ### Java分页原理 分页是Web开发中的常见需求,尤其当数据量庞大时,一次性加载所有数据不仅会增加...

Global site tag (gtag.js) - Google Analytics