jsp 如何动态给图片赋值_JSP(JavaServerPage)

36d7484563ca7304f5fd5bc642f9b324.png

JSP:Html代码+Java脚本+JSP标签

1.Java脚本

  • <% 内容 %>:方法脚本
  • <%= 内容 %>:赋值脚本
  • <%! 内容 %>:类脚本

2.JSP三大指令

2f2949757ae6517f9c8325f0ba6f384a.png
JSP 三大指令
  • 指令格式:<%@指令名 属性="属性值"... %>

>page指令

  • pageEncoding:指定当前JSP文件的编码,与当前JSP真实编码一致,则不会乱码
  • ContentType:相当于response.setContentType(xxx),属性值为xxx,若和pageEncoding一致,基本不会乱码
  • pageEncoding和ContentType若两者都未设置,默认值均是iso;两者定义一个,那么表示的是另一个属性值为xxx;若两者同时定义,则各为其值。例如<% @page pageEncoding="utf-8" %>,表示的是Content属性为utf-8,而pageEncoding未定义。
  • import:导包,属性可以多次定义,其表示是导入包的总和
  • errorPage:如果当前页面抛异常,转发到哪个页面(请求转发)
  • isErrorPage:当前页面是否是处理异常的页面,如果属性值为true,那么该页面会设置状态码500,并且可以使用9大内置对象的exception
在web.xml文件中,配置处理异常的页面
/* 同时出现,谁越精确,优先级越高*/
// 1.根据状态码,转发页面
<error-page>
    <error-code>404</error-code>
    <location>页面url<location>
</error-page>
// 2.根据抛出的异常
<error-page>
    <exception-type>java.lang.RuntimeException</exception-type>
    <location>页面url<location>
</error-page>
  • autoFlush:指定jsp文件输出流缓冲区是否自动刷新,默认值为true,若为false,缓冲区满时会抛出异常
  • buffer:指定缓冲区大小,默认为8KB
  • isELIgnored:是否忽略EL表达式,默认值为false,不忽略。
  • language:指定jsp编译后的语言类型,默认是java
  • infor:写一些信息
  • isThreadSafe:当前jsp是否支持并发运行,true为不支持
  • session:当前jsp文件是否支持session,若为false,则不支持,没有Session的9大内置对象
  • extends:让当前jsp文件生成的Servlet去继承该属性定义的类

>include指令(静态合并)

  • 与requestdispatcher.include(request,response)类似,都是“合并”
  • requestdispatcher的include方法合并的是响应的内容
  • include指令合并的是jsp文件:两个jsp文件编译成一个java,然后成一个class
  • include指令的“静态”指的是include指令是一个静态的指令(编译时就执行)
  • 把包含的jsp文件代码全部“复制粘贴”到include的位置,双向都不能实现参数传递
  • include指令的file属性,表示指定包含文件的路径

>taglib(标签库相关指令)

  • prefix:给标签库中的标签加前缀(防止标签名冲突),加了前缀名后的标签格式为前缀名:标签名
  • uri:指定标签库位置
/* 演示prefix指定标签库的标签前缀后,标签的名称
    uri随便写的,这个属性根据具体情况应用*/
<%taglib uri="/Project/taglib" prefix="pre" >
那么:text标签应该为<pre:text></pre:text>

3.九大内置对象

7afa2eb578afb4a1d66bf934dfece50f.png
// a.jsp
<%
/* 内置对象是可以直接访问的变量
*/
RequestDispatcher dispatcher = request.getRequestDispatcher();
 %>

4.JSP动作标签

efff1f555cf814f7d0d8305926346ee7.png

5.JavaBean(有规范的Java类)

  • 有无参构造函数
  • 对于每个属性,至少有get/set方法之一

>使用JavaBeanUtils前提

  • 导入commons-beanutils和commons-logging 两个jar包(文末有资源分享)

198d9417e842b409ef435e25d89d6c8c.png

>将Map对象转换成JavaBean对象

f270ee835acfc1221aa61843e66c669e.png
JavaBean类

08505bd2cb4027e67928fd9e5828c19d.png
工具类

d99ed0fb6729c6e72c09c141f38c5ce1.png
Map-&amp;amp;amp;amp;amp;amp;amp;amp;gt;Servlet

>JSP中与JavaBean相关的标签

//从session域中查找名为user1的JavaBean对象,若未找到,则新建一个
<jsp:userBean id = "user1" scope = "session" class = "MyJavaBean"> 
// 在名为user1的JavaBean对象中设置一个名为name,值为张三的参数
<jsp:setProperty name = "user1" property = "name" value = "张三">
// 获取名为uesr1的JavaBean对象中,属性名为name的属性值
<jsp:getProperty name = "user1" property = "name" >

资源分享

  • commons-beanutils和commons-logging两个jar包

链接:https://pan.baidu.com/s/1tjnrNLqJaInoa7asbFRbiw

提取码:y2i4

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值