Java菜鸟学习日记29

来源:互联网 发布:人工智能 传统制造业 编辑:程序博客网 时间:2024/06/13 22:44
自定义JSTL标签
  1. 创建一个类,从SimpleTagSupport继承
    1. 通过继承可以获得当前JSP页面上的对象,如JspContext
      1. 实际上可以强转为PageContext
      2. 通过PageContext可以拿到HttpServletRequest等对象
    2. 通过JspContext可以获取输出流,向页面上输出内容(文字、HTML标签等)
    3. 重写void doTag()方法,实现标签的内部逻辑
  2. 在tld(标签库描述文件)文件中添加<tag>标签
    1. 如果tld还没有,则从JSTL官方jar包中找到c.tld,复制出来
    2. <tag>标签中通过<attribute>标签可以指定标签的属性
      1. 标签的属性实际上就是标签类的属性,需要在标签类中定义同名属性并封装getter、setter
      2. SimpleTagSupport支持从标签中间提取内容,支持四种选项
        1. JSP:表示标签内部可以放其他标签、el、代码块
        2. Scriptless:表示标签中可以方文本和html等静态内容
        3. empty:表示标签中没有内容
        4. tagdependent:表示标签中的内容由标签自己决定
    3. tld 需要在web.xml中通过<jsp-config><tablib>标签中声明一下
    4. 如果打成jar包,放在META-INF中可以被服务器扫描到
SpringMVC 标签的属性中套JSTL标签报错的解决方法
  • <form:form action="<c:;url valure="/user/list"/>"></form:form>
    • 会报错,找不到form:form 结束标签
    • 实际上是是不能再属性中嵌套JSTL
  • 解决方法:改用EL表达式写绝对地址
    • <form:form action="${pageContext.request.contextPath}/user/list">
BootStrap在一行中放置多个内容的方法
  • <div class="container">
` <div class="row">:用来抵消两端的15px内边距
<div class="col-sm-8">
<div class="col-sm-4">
连接为空字符串的作用
  1. <a href="">:刷新本页
  2. <form action="">:提交到本页
  3. <a href="../">:注意这是相对路径,../会向上提一级目录
JQuery中3中给标签填内容的方法
  1. <input>中的值:$('input').val('填充到表单控件中的值')
  2. 普通标签的文本内容:$('p').text('填充的文本内容,html无效')
  3. 普通标签的HTML内容:$('div').html('<标签>')
用JS控制表单提交
  1. $('form').submit():用JQuery找到表单,然后调submit()方法
  2. 在表单内部的表单控件上通过事件调用submit()方法
<form>
<delect onchange="submit()">:onchange:下拉列表项改变的事件
3钟模型
  1. 数据模型:与数据库中的表一一对应,通常定义在底层(数据层)
  2. 视图模型:只在视图层使用,与数据库无关
  3. 业务模型:它是中间计算使用的模型,或者与第三方交互时使用的模型
    1. 比如支付时的支付宝或微信订单模型