shop++学习之freemarker和注解

注解

@Controller

@Service

@RequestMapping

@Resource

@ResponseBody

@Transactional

@Override

注解可以理解为标签,给对象贴一个标签,在shop++里边,@Controller,@Service,

分别是声明他们分别是controller层和service层,告诉系统他们这个类是什么。

@RequestMappin如同字面意思请求映射,@RequestMapping("/admin/mc/user_imgs")

@RequestMapping(value = "/add", method = RequestMethod.GET)
    public String add(ModelMap model) {
        return "/admin/mc/user_imgs/add";
    }

当调用/admin/mc/user_imgs/add时,这个add方法将会响应请求,在shop++的框架里,如果没有特别声明,retrun将会把"/admin/mc/user_imgs/add"这个路径的模板文件展示出来。

return "redirect:list.jhtml";重定向到这个网页

@Resource(name = "userImgsServiceImpl")
	private UserImgsService userImgsService;

上述声明了userImgsService这个类是null,Resource注入源文件

public @ResponseBody
    Message delete(Long[] ids) {
        userImgsService.delete(ids);
        return SUCCESS_MESSAGE;
    }

ResponseBody标识了这个方法返回的类似json的数据。

@Transactional事务标识,没有完成就回滚到初始状态

@Override重写说明

@Table标识一个数据表

@ManyToOne数据库多对一关系

@JoinColumn(name="addressID")//注释本表中指向另一个表的外键。

@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty("name")。

J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。

freemarker

<html>

    <head>

        <title>Welcome!</title>

    </head>

    <body>

        <h1>Welcome Big Joe!</h1>

        <p>Our latest product:

        <a href="products/greenmouse.html">green mouse</a>!

    </body>

</html>

页面中的用户名(即上面的“Big Joe”)是登录这个网页的访问者的名字, 并且最新产品的数据应该来自于数据库才能随时更新。所以,不能直接在HTML页面中输入“Big Joe”、“greenmouse”及链接, 不能使用静态HTML代码。可以使用要求输出的模板来解决,模板和静态页面是相同的,只是它会包含一些FreeMarker将它们变成动态内容的指令:

1

2

3

4

5

6

7

8

9

10

<html>

    <head>

        <title>Welcome!</title>

    </head>

    <body>

        <h1>Welcome ${user}!</h1>

        <p>Our latest product:

        <a href="${latestProduct.url}">${latestProduct.name}</a>!

    </body>

</html>

模板文件存放在Web服务器上,当有人来访问这个页面,FreeMarker就会介入执行,然后动态转换模板,用最新的数据内容替换模板中${...}的部分,之后将结果发送到访问者的Web浏览器中。访问者的Web浏览器就会接收到例如第一个HTML示例那样的内容(也就是没有FreeMarker指令的HTML代码),访问者也不会察觉到服务器端使用的FreeMarker。(存储在Web服务器端的模板文件是不会被修改的;替换也仅仅出现在Web服务器的响应中。)

后辍flt文件


 

猜你喜欢

转载自blog.csdn.net/weixin_42727578/article/details/81213609