Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >jsp的C标签一般使用方法以及js接收servlet中的对象及对象数字

jsp的C标签一般使用方法以及js接收servlet中的对象及对象数字

作者头像
上帝
发布于 2018-06-26 07:19:46
发布于 2018-06-26 07:19:46
2.3K00
代码可运行
举报
文章被收录于专栏:影子影子
运行总次数:0
代码可运行

jsp的C标签一般使用方法以及js接收servlet中的对象及对象数组

  由于现流行的javaWeb框架提倡前后端分离,比如在SpringMvc中已经很少写servlet的一些东西;目前 前端jsp中大多是一些纯html和js,很少用到jstl的一堆东西,后端也仅仅处理一些前端的post、get请求或页面跳转,无须以往繁琐的xml路径映射和filter过滤。

  不过有时也会用到servlet作用域中的一些东西,比如某个固定的值、上下文路径等等~,不过这些东西大多数也仅限于取值而不是设置值(或对象),所以sun给了一个非常简洁的取值方式:C标签!

  下面将简述下C标签的一些使用方法,主要是我个人从事javaWeb开放所涉及到的内容,不做多的扩展(◕ܫ◕)=>

在使用之前,页面命名空间需要先声明C标签和jsp的基本声明 ,这是最基本的,顺便说下:如果引用到jar包,也是在这里声明的,如下==>

当后端传给页面一个单独的值的时候用${键}即可获取传入的值(在这里是stockPrice这个Float值),这个键可以是java任何类型(比如常用的List、map、String、Date、Object...等等)=>

 以上只是单值,如果是对象类型或者Map类型,就需要打点访问值了,例如后台是这样子的:

jsp中在取值的时候就像js中取对象中的值一样,就像这样==>

stockPrice2中的值是个List的时候同js中list值访问一样,用中括号=>

以上取值的方式有仨:[数组下标]、["数组下标"]、.get(下标),需要说明的是下标是不能用单引号引起来的,在一就是取的数组长度如果是动态长度的,上面的这些方式就需要加一层判断,but~这样的方式十分之不可取,这时候就需要用到 forEach=>

使用forEach的时候需要用到forEach标签,即使数组为空也无需要判断空值,需要说明的是遍历的对象放在items中,每个对象中的每个子对象用var中的值代替子对象的整个对象,后面的varStatus这个变量是存的每个变量的状态,一般也会使用到就是对象所在的下标(需要用index这个变量名称,并且这个变量名称是固定的,无须在后端定义),如果需要过滤对象中的某个值,就需要用到if标签了,这个标签可以嵌套在循环里面使用也可以单独使用~=>

        嗯~,需要条件判断的时候就需要会用到if~else~这样的条件判断,在C标签中,这个判断需要写在choose标签中,可能比较麻烦,这里只给出代码样例=>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<select class="btn col-sm-12"style="font-weight:bold;color:black;pointer-events: stroke;opacity: initial;">
                    <c:if test="${empty main.scoreC}"><option value="">()</option></c:if>
                    <c:forEach  items="${scores}"  var="score" >
                        <c:choose>
                               <c:when test="${main.scoreC eq score}">
                                    <option value="${score}" selected="selected">${score}</option>
                                </c:when>
                               <c:otherwise>   
                                    <option value="${score}">${score}</option>
                               </c:otherwise>
                            </c:choose>
                    </c:forEach>
   </select>

如上图,判断每个条件需要写在c:when标签中(可以有多个此标签),如果条件都不满足,则会显示c:otherwise标签中的内容,样例效果自行测试,这里就不啰嗦啦(o^.^o)~

啊哈~,以上是C标签常用的一些懂西,哦~ 不好意思,漏了一个(*^▽^*),这个比较特殊:多数人在使用判断的时候会用到条件是否为空,是否等于某个值:

对于前者,条件一般是这样写=>${empty 变量名},这个empty在jsp中是关键字,变量名称一定要避开啊~w(゚Д゚)w

对于后者,写法一般有两种=>${变量名A eq 变量名B} 或者 ${变量名A == 变量名B},后者一般做数字或基本类型的判断,前者一般做对象判断;别忘了,这个“eq”也是关键字o哦~

        最后,这次当然是最最后哈( ̄▽ ̄)/,放一个大招,也是我研究了好一会憋出来的;当然,不是恶心便便( ´´ิ∀´ิ` )。。。,先说下摘要吧:一般jsp处理不了的逻辑或者比较麻烦的逻辑需要将servlet作用域中的(List或Map) 放在js中处理,这时就可能面临一个问题,就是你怎么能将整个对象放到js变量里面呢,在这里可以很自信的Answer你:用fastJson转字符串啊~ㄟ(◑‿◐ )ㄏ,是不是豁然开朗,哈哈,先抛个砖=>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
3 <%@ taglib uri="/WEB-INF/tlds/hs.tld" prefix="hs"%>
4 <%@ page import="com.alibaba.fastjson.JSON" %>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
1 <script type="text/javascript">
2 <%    Object ob=request.getAttribute("bonusMatrix");    %>
3 //初始化数据    
4 var bonusMatrixs=[];
5 function init(data){
6     bonusMatrixs=data;
7 }
8 init(<%out.println(JSON.toJSONString(ob));%>);
9 </script>

并且~,不需要做json字符串到js对象的转换就可以直接使用~,有没有很方便的说└(^o^)┘

啊~,哇哦~已经这个点儿了,要睡觉啦~

//看到这里的童鞋,希望他们 ☛热爱技术,关爱妹纸,关爱单身狗,远离加班,远离改需求ㄟ(▔▽▔ㄟ) (╯▔▽▔)╯

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Servlet终极保姆级入门指南
简单来说:Servlet 是运行在 Web服务器(如Tomcat服务器)的,使用 Java编写的小应用程序。
上分如喝水
2021/08/16
8860
Servlet终极保姆级入门指南
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】
什么是JSTL JSTL全称为 JSP Standard Tag Library 即JSP标准标签库。 JSTL作为最基本的标签库,提供了一系列的JSP标签,实现了基本的功能:集合的遍历、数据的输出、字符串的处理、数据的格式化等等! 为什么要使用JSTL EL表达式不够完美,需要JSTL的支持!在JSP中,我们前面已经用到了EL表达式,体会到了EL表达式的强大功能:使用EL表达式可以很方便地引用一些JavaBean以及其属性,不会抛出NullPointerException之类的错误!但是,EL表达式非常有
Java3y
2018/03/15
1.2K0
JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】
杨老师课堂之jsp基础语法知识理论基础介绍
分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。
杨校
2019/03/08
6710
杨老师课堂之jsp基础语法知识理论基础介绍
猿进化系列10——一文学会动态模板的套路
看完上一个章节,相信你已经掌握了servlet相关技术的基础知识和用法,你也学习过java的一些基础知识了,今天我们就一起来掌握动态web页面的制作姿势.
山旮旯的胖子
2020/07/28
4020
Javaweb04-EL&Jstl
1.用法el表达式更加简洁 2.获取参数不存在时,jsp表达式时null,el表达式是空;
化羽羽
2022/10/28
1.1K0
【愚公系列】2023年03月 Java教学课程 096-Servlet服务器的JSTL
JSTL是Java Server Pages标准标签库的缩写,是一组标签的集合,用于简化JSP页面中的常见的操作,如条件判断、循环遍历、格式化数据等。JSTL标签库提供了丰富的标签,包括核心标签、格式化标签、XML标签、SQL标签等。使用JSTL库可以提高JSP页面的代码可读性和维护性。JSTL是一个开放源码项目,由Sun公司主导,并得到了许多其他公司和开发者的贡献。
愚公搬代码
2023/03/26
4980
【愚公系列】2023年03月 Java教学课程 096-Servlet服务器的JSTL
java面试基础部分;
抽象类使用abstract进行修饰,子类需要实现父类的所有抽象方法,否则子类也是抽象类。
java攻城狮
2020/10/10
4540
java面试基础部分;
JavaEE中的el 表达式以及JSTL详解
尤其关注三目运算符的使用,列如通过对el的使用,实现用户年龄小于20所在行显示为灰色,大于20显示绿色的效果。
时间静止不是简史
2020/07/26
1K0
jsp基础知识 jsp指令 jsp9大内置对象 jstl表达式
JSP 1, JSP 的生命周期 理解 JSP 底层功能的关键就是去理解它们所遵守的生命周期。 JSP 生命周期就是从创建到销毁的整个过程,类似于 servlet 生命周期,区别在于 JSP 生命
用户1171305
2017/12/28
1.5K0
JSP学习——EL表达式和JSTL学习小结
EL表达式 一、EL与JSTL作用: 简化JSP文件上java代码开发步骤。 二、jsp主要的开发任务 将域对象中的数据读取并写入响应体中。 三、在jsp中使用java命令,将域对象中的数据读取并写入到响应体(客户端) 域对象读取的数据都是object类型 需要进行数据转换 eg: <% String value = (String)request.getAttribute("key"); //out.write(value); %>
传说之下的花儿
2023/04/16
6440
JSP第七篇【简单标签、应用、DynamicAttribute接口】
为什么要用到简单标签? 上一篇博客中我已经讲解了传统标签,想要开发自定义标签,大多数情况下都要重写doStartTag(),doAfterBody()和doEndTag()方法,并且还要知道SKIP_BODY,EVAL_BODY等等的变量代表着什么,在什么方法中使用。这样实在是太麻烦了! 因此,为了简化标签开发的复杂度,在JSP 2.0中定义了一个更为简单、便于编写和调用的SimpleTag接口来实现标签的功能。。 一般来说,实现了SimpeTag接口的标签称之为简单标签 SimpleTag接口 首先我们来
Java3y
2018/03/15
1.3K0
JSP第七篇【简单标签、应用、DynamicAttribute接口】
第48次文章:EL&JSTL
主要用于页面包含,导入页面的资源文件,格式为:<%@ include file="top.jsp" %>
鹏-程-万-里
2019/12/12
5560
第48次文章:EL&JSTL
EL表达式和JSTL标签库
1.初识JavaBean 1.1 什么是javabean:它在java开发中常用的组件,其实就是一个java类,它的作用就是封装数据。 书写javabean需要满足五个规范: [1].这个java类,被public 修饰 [2].这个类要提供公共的无参构造方法。 [3].要提供私有的属性 [4].要给私有的属性提供公共的set过着get方法. [5].要实现Serializable接口。 比如:
别团等shy哥发育
2023/02/27
1.5K0
EL表达式和JSTL标签库
【Java Web_08】JSP、EL 表达式、JSTL
一、JSP 1. 概述 * 当浏览器请求对应的JSP 时 ,JSP 经过转义形成对应的java文件,java文件 经过编译 链接 形成 .class 文件。.class 文件会用来创建 servlet 对象 这个对象就可以提供动态html响应。 2. JSP语法 ① 声明区 * <%! 在类中方法外,属于成员位置 %> ② 表达式 * <%= 这里输出到页面,在 service 方法中 %> ③ 代码块--- 代码片段 * <% 在 service 方法中 %> ④ JS
用户8250147
2021/02/04
6360
JavaWeb12-JSP, EL表达式,JSTL标签
JSP & EL & JSTL 一.JSP 1. jsp回顾 jsp作用 jsp全称java server pages(java服务器页面),本质是一个servlet.它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp). jsp作用:将内容的生成和显示进行分离 用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内
Java帮帮
2018/03/19
1.8K0
JavaWeb12-JSP, EL表达式,JSTL标签
【Java 进阶篇】用JSTL玩转Java:了解JSTL常用标签
JavaServer Pages标准标签库(JavaServer Pages Standard Tag Library,简称JSTL)是Java Web应用程序中常用的标签库之一。它提供了一组标签,使得在JSP页面中处理数据、控制流程、以及显示内容变得更加便捷和高效。本文将带领你深入了解JSTL的常用标签,无论你是初学者还是有一定经验的开发者,都能从中受益。
繁依Fanyi
2023/11/09
5410
【Java 进阶篇】用JSTL玩转Java:了解JSTL常用标签
JavaWeb - EL and JSTL
依次访问 pageContext、request、session 和 application 作用域对象存储的数据。
RendaZhang
2020/09/08
3.7K0
Jsp&EL&JSTL的基本使用
因此一般写jsp或者写项目不会在jps文件中写java代码,会采用MVC的开发模式,而Java代码会使用EL表达式和JSTL标签来代替。
不愿意做鱼的小鲸鱼
2022/09/24
1.5K0
Jsp&EL&JSTL的基本使用
jsp必会知识(最全 精美版)
1. :standard.jar 和 jstl.jar 文件拷贝到 /WEB-INF/lib/ 下。
编程张无忌
2021/01/26
7700
jsp必会知识(最全 精美版)
jsp指令和EL表达式
1.page指令 1.pageEncoding 指定jsp的编码 2.contextType 设置响应头 这两个东西其实使用任意一个即可。 3.errorPage 如果这个页面抛出异常以后重定向到哪一个页面。 2.静态包含 include 他是静态包含和RequestDispatcher类似,但是就是包含的时期不一样。 静态包含就是在jsp编译成java的时候形成的,也就是最终是两个文件合并成了一个class,最后形成一个class文件 RequestDispatcher则是动态包含,他们在显示之前始终是两
lwen
2018/04/17
7620
相关推荐
Servlet终极保姆级入门指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验