JSP、El表达式、JSTL表达式笔记

html改jsp替换头文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

往上替换

定义完以上之后,<%= basePath %>/jsp/hello.jsp   相当于全路径

 

El表达式

语法结构${expression}

 

JSTL(JSP标准标签库)

<% %> <%= %>

 

${pageContext.request.contextPath}等价于<%=request.getContextPath()%> 或者可以说是<%=request.getContextPath()%>的EL版 意思就是取出部署的应用程序名或者是当前的项目名称

比如我的项目名称是ajax01 在浏览器中输入为

http://localhost:8080/ajax01/login.jsp

${pageContext.request.contextPath}或<%=request.getContextPath()%>取出来的就是/ajax01,而"/"代表的含义就是http://localhost:8080

所以我们项目中应该这样写${pageContext.request.contextPath}/login.jsp,这种方式还是一种相对路径取法;<%= basePath %>/jsp/hello.jsp是绝对路径取法。

JSP、El表达式、JSTL表达式笔记_第1张图片

JSP、El表达式、JSTL表达式笔记_第2张图片

清除input框缓存历史记录

 

遍历(c:foreach)

${status.count}

${emp.EMPNO}

${emp.ENAME}

修改

删除

其中varStatus可以给每行添加编号,其中${status.count}从1开始;${status.index}从0开始

 

a标签的跳转

点击此a标签不跳转任何代码

修改

删除

 

下拉菜单的选择和传值

jsp页面中

controller层接收

@RequestMapping("addEmp")

public String addEmp(@RequestParam Map map){

int row=empService.addEmp(map);

if(row>0){

return "redirect:empList";

}

return "emp/errorEmp";

}

通过@RequestParam接收到参数map,用map.get("DEPTNO")获取选择值

 

date类型的传递

jsp页面中、

雇佣日期

mapper文件中,写插入语句时候需要用 to_date 转化为date类型才能存入数据库

to_date(#{HIREDATE},'yyyy-mm-dd')

标签格式化日期

在springmvc的demo中有用到

jsp页面引入标签

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"  prefix="fmt"%>

在需要格式化时用以下方法取值

其中,item是实体,其中的itemDate是实体的字段,类型为java.util.Date

 

给下拉菜单赋初始值

jsp页面中select引入id="deptNo"

JS写法

JQuery写法(使用前需要先引入一个jQuery库)

$(function(){

//JQuery方式设置下拉框的初始值

var deptNo="${empMap.DEPTNO}";

$("#deptNo").val(deptNo); jquery方法赋值

});

 

执行跳转时先进行confirm弹框判断的方法

跳转

删除

JS函数

function del(empNo){

var d=confirm("确认删除此员工?");

if(d){

window.location.href="emp/deleteEmp?EMPNO="+empNo;

}

}

也可以写JS如下

function del(empNo){

if(confirm("确认删除此员工?")){

window.location.href="emp/deleteEmp?EMPNO="+empNo;

}

}

 

JOSN传值

@RequestMapping(value="/api/subq/expressSub",method={ RequestMethod.POST )

@ResponseBody

public BaseResp expressSub(@RequestBody JSONObject body){

 

//先定义变量

String num = "";

String comCode = "";

 

// 判断num参数是否合法,并取值

if (body.containsKey("num")) {

num = body.getString("num");

if ("".equals(StringUtils.deleteWhitespace(num))) {

return DataResp.fail("", "快递单号不能为空");

}

} else {

return DataResp.fail("", "快递单号为必填项");

}

 

// 判断comCOde参数是否合法

if (body.containsKey("comCode")) {

comCode = body.getString("comCode");

if ("".equals(StringUtils.deleteWhitespace(comCode))) {

return DataResp.fail("", "快递公司代码不能为空");

}

} else {

return DataResp.fail("", "快递公司代码为必填项");

}

}

 

//下边可以直接使用取到值的num和comCode

}

 

Ctrl返回值问题

返回值为void,可以直接return ;

public void save(){

……

return ;

}

 

表单必填项

必填选项红色星标

 

你可能感兴趣的:(Java基础)