发表于: 2017-09-19 22:24:26

1 771


一、今日完成

1.练习任务2和任务3过程中,根据Spring MVC的Controller写了一些的JSP页面,但是基本是模仿师兄的例子做的,对于JSP的标签用法并不熟悉,今天上午学习了如何使用C标签;

1)首先在头文件中作如下声明,引用核心标签库:

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

2)<c:out>标签用来显示一个表达式的结果,与<%= %>作用相似,

<c:out value="<string>" default="<string>" escapeXml="<true|false>"/>

value表示要输出的内容,default表示输出的默认值,escapeXml表示是否忽略XML特殊字符;

3)<c:set>标签用于设置变量值和对象属性,

<c:set

   var="<string>"

   value="<string>"

   target="<string>"

   property="<string>"

   scope="<string>"/>

value 表示要存储的值,target 表示要修改的属性所属的对象,property表示要修改的属性,var 表示存储信息的变量,scope 表示var属性的作用域;

4)<c:remove>标签用于移除一个变量,

<c:remove var="<string>" scope="<string>"/>

var 表示要移除的变量名称,scope表示 变量所属的作用域;

5)<c:catch> 标签主要用来处理产生错误的异常状况,并且将错误信息储存起来,

<c:catch var="<string>">

...

</c:catch>

6)<c:if>标签判断表达式的值,如果表达式的值为 true 则执行其主体内容,

<c:if test="<boolean>" var="<string>" scope="<string>">

   ...

</c:if>

test 表示条件,var表示 用于存储条件结果的变量;

7)<c:choose>标签与Java switch语句的功能类似,包含<c:when>, <c:otherwise> 子标签

<c:choose>

    <c:when test="<boolean>">

        ...

    </c:when>

    <c:when test="<boolean>">

        ...

    </c:when>

    ...

    ...

    <c:otherwise>

        ...

    </c:otherwise>

</c:choose>

8)<c:import>标签提供了所有<jsp:include>行为标签所具有的功能,同时也允许包含绝对URL;

<c:import

   url="<string>"

   var="<string>"

   scope="<string>"

   varRender="<string>"

   context="<string>"

   charEncoding="<string>"/>

其中,charEncoding 表示所引入的数据的字符编码集,varReader 表示可选的用于提供java.io.Reader对象的变量;

9)<c:param>标签用于在<c:url>标签中指定参数,而且与URL编码相关。

<c:param name="<string>" value="<string>"/>

10)<c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL,它提供内容相关的URL,并且支持c:param标签,

<c:redirect url="<string>" context="<string>"/>

url 表示目标URL,context 后面紧接着一个本地网络应用程序的名称。


2.根据昨天的DB模型,写后端代码,学习使用eclipse创建基于maven的WEB 项目;因为使用不熟练,所以在软件设置和项目创建流程上花了不少时间。

1)使用web.xml 文件中的url来映射要DispatcherServlet处理的请求

<web-app id="WebApp_ID" version="2.4"

    xmlns="http://java.sun.com/xml/ns/j2ee" 

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

 

    <display-name>Spring MVC Application</display-name>

   <servlet>

      <servlet-name>east</servlet-name>

      <servlet-class>

         org.springframework.web.servlet.DispatcherServlet

      </servlet-class>

      <load-on-startup>1</load-on-startup>

   </servlet>

   <servlet-mapping>

      <servlet-name>east</servlet-name>

      <url-pattern>*.jsp</url-pattern>

   </servlet-mapping>

</web-app>

web.xml中声明的[servlet-name] -servlet.xml放在WebContent / WEB-INF目录下,初始化HelloWeb DispatcherServlet后,Spring将尝试从名为[servlet-name] -servlet.xml的文件加载应用程序上下文。然后<servlet-mapping>标签指示哪个URL将由哪个DispatcherServlet处理。这里以.jsp结尾的所有HTTP请求都将由HelloWeb DispatcherServlet 处理。

2)WebContent / WEB-INF目录下创建[servlet-name] -servlet.xml

<beans xmlns="http://www.springframework.org/schema/beans"

   xmlns:context="http://www.springframework.org/schema/context"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="

   http://www.springframework.org/schema/beans     

   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

   http://www.springframework.org/schema/context 

   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:component-scan base-package="com.jnshu.east" />

   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">

      <property name="prefix" value="/WEB-INF/jsp/" />

      <property name="suffix" value=".jsp" />

   </bean>

</beans>

其中,创建定义的bean,覆盖在全局范围内使用相同名称定义的任何bean的定义;使用<context:component-scan ...>标签来激活Spring MVC注释扫描功能,然后就可以使用@Controller和@RequestMapping等注释。而 InternalResourceViewResolver这个将定义解析视图名称规则。根据上述定义的规则,将名为hello的逻辑视图委托给位于/WEB-INF/jsp/hello.jsp的视图实现。


二、明日计划

把web项目接口写完,然后学习使用Tiles标签改写前端的html页面,变成JSP页面


三、遇到问题

学习使用eclipse遇到了各种坑,有一种回到当初开始接触IDEA的感觉,软件配置、目录结构管理等都出了不少错,但是也开始慢慢熟悉起这个新的IDE工具,但是相应的也花了不少时间在这个上面。其中,遇到一个不能解决问题——如何使用eclipse打开一个既有的使用eclipse项目,按照搜索的教程来操作,并没有成功。


四、收获

以上。


禅道链接:http://task.ptteng.com/zentao/task-view-10366.html

因为本周接下来需要请假3天,按照当前的进度看,在下周2时候能够结束提交任务4.



返回列表 返回列表
评论

    分享到