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是绝对路径取法。
清除input框缓存历史记录
遍历(c:foreach)
其中varStatus可以给每行添加编号,其中${status.count}从1开始;${status.index}从0开始
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写法
window.οnlοad=function(){
//JS方式设置下拉框的初始值
var deptNo="${empMap.DEPTNO}";
//JS方法赋值
document.getElementById("deptNo").value=deptNo;
}
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 ;
}
表单必填项
必填选项红色星标