暑假学习7(周一 7.20)

             今天的项目是一个通过链接修改用户的注册信息,在这个项目中,我们需要涉及多个数据的值传递问题,如在修改注册信息时,我们需要在另一个页面显示之前该用户的用户ID与用户名。这是与之前的链接传值不同的,这个的传值区别在于里边的数据传入项是多个,中间是用逗号来分开的,而且之前的HTML链接传值的写法中正式的写法在传值中没有?而是省略掉的,代码如下:

        <a th:href="@{init7(userId=${goodInfo.userId},userName=${goodInfo.userName})}">

       当然与此同时,我们在接受传值的过程时必须通过两个input标签来接收(这是在需要将这些值传回给后台的时候需要,此时的input标签的type=“hidden”,注意type的值必须有引号,此时的th:value值为对应的userBean的属性值,要实现后台传递需要设置input标签的name属性以便于识别对应的属性)。另外,<span>这个标签只是用于动态的显示数据而不能用于传值。

       在.xml文件中并没有严格的规范的标签格式,它有且仅有一个父类节点,<beans>里边包含许多的文件,其中大多数是.xsd的文件,这些文件是需要通过联网来对其中的标签来校验的,也就是说在不联网的情况下,它会一直不断发送校验请求,这样对于在我们没有网络连接的情况下会影响我们程序的运行效率。这时,我们可以通过window->preferences->Validation->Disableall来关掉自动校验这一步,而是通过代码运行区找问题,这样可以提高程序运行时间,但更容易程序崩溃。

            <context:component-scan base-package="cn.training" />

      上边这条代码表明我们在寻找文件内容的时候从cn.traininig这个包开始寻找。而注释的驱动是这个代码控制的: <mvc:annotation-driven />,servlet的处理的是通过这个来进行的:<mvc:default-servlet-handler />,也就是说程序是通过注释和handler来判断执行相应controller中的方法。

<bean

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

<property name="viewClass"

value="org.springframework.web.servlet.view.JstlView" />

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

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

</bean>

              在上边的这个bean标签中,我们可以发现WEB-INF/jsp的所有文件在使用时会自动匹配上.jsp的后缀,并由ViewResolver这个视图解析器来解析。在jsp页面中可以包含Jstl的页面标签,如<c:forEach>标签的使用,当然还是要在对应的.jsp页面中加入:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

             在web.xml文件中有一个过滤器<filter>,这个过滤器的作用是控制传入后台的数据格式都是utf-8的,保证不会传入乱码,要是想保证前台页面的汉字不出现乱码,需要在对应的HTML页面中加入两个<meta>标签,注意两个标签的作用范围,第一个是标签内部的内容,另一个是显示在页面上的数据,即<input >的value和直接写在页面上的汉字等。过滤器代码如下:

<filter>

<filter-name>CharacterEncodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>utf-8</param-value>

</init-param>

</filter>

             在一个页面的<form>标签中,action的值不能是有下划线的,因为下划线仅在定义常量的时候使用而且每个字母都需要大写,如USER_ID。在一般的变量命名时,我们都遵循第一个单词字母小写,第二单词首字母大写的规则。

           在Sql文的书写中,我们需要注意update的更新信息不能用来更改主键的值,同时在插入的时候,要写清给具体哪几列插入数据。

           前后台的多个数据传值时,前台的数据只能一个个传到后台,在后台通过我们定义的UserBean这个类来实现封装,而不是在前台的时候传入一个UserBean的对象。前台传入的值只能是以字符串的形式传入,而不能是一个整体的对象形式,多值传输时注意定义name属性便于后台查找出对应的值。

          在一些异常出现时,有时候我们并不希望程序崩溃,这时我们可以通过一个try{}catch{}方法来捕捉出错的问题所在,从而维护程序的正常运行。

转载于:https://my.oschina.net/u/2411765/blog/480972

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值