首页 文章 精选 留言 我的

精选列表

搜索[API集成],共10000篇文章
优秀的个人博客,低调大师

Spring Cloud 2.x系列之springboot集成freemarker

SVN多版本库环境的搭建 OAuth 2.0是什么?看这篇文章就够了。 前端 Java Python等资源合集大放送 springboot中自带的页面渲染工具为thymeleaf,freemarker这种模板引擎用的也比较多。 一、在spring中springMVC代表着view层组件 二、为什么使用freemarker:简单容易学、逻辑分明 三、freemarker优点:不依赖servlet、网络或者web环境 1、新建maven项目,对应的pom.xml文件如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>spring-cloud</groupId> <artifactId>sc-freemarker</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>sc-freemarker</name> <url>http://maven.apache.org</url> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> </dependencies> </project> 2、新建配置文件application.yml server: port: 8081 spring: application: name: sc-freemarker freemarker: allow-request-override: false cache: true check-template-location: true charset:UTF-8 content-type: text/html expose-request-attributes: false expose-session-attributes: false suffix: .ftl templateEncoding: UTF-8 templateLoaderPath: classpath:/templates/ expose-spring-macro-helpers: false 备注:freemarker有哪些配置项可以参考类 org.springframework.boot.autoconfigure.freemarker.FreeMarkerProperties 3、新建一个controller package sc.freemarker.controller; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import sc.freemarker.model.User; @Controller public class FreemarkerController { @RequestMapping("/getUser") public StringgetUser(Integer id, Model model){ User u = new User(); u.setId(1); u.setAge(13); u.setSex(1); u.setUserName("黄金"); User l = new User(); l.setId(1); l.setAge(23); l.setSex(0); l.setUserName("白银"); List<User> friends = newArrayList<User>(); friends.add(l); u.setFriends(friends); model.addAttribute("user",u); return"getUser"; } } 备注:注意最外层的控制层注解只能用@Controller 4、新建模板文件getUser.ftl <!DOCTYEhtml> <htmlxmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title>Hello World!</title> </head> <body> <center> <p>welcome${user.userName} to freemarker!</p> <p> 年龄: ${user.age}</br> 性别: <#ifuser.sex==0> 女 <#elseifuser.sex==1> 男 <#else> 保密 </#if> </p> <h4>我的好友:</h4> <#listuser.friends as f> 姓名:${f.userName} , 年龄${f.age} <br> </#list> </center> </body> </html> 5、其他项目文件如下图 6、运行FreemarkerApplication.java类,启动项目;并检查启动信息,确认freemarker配置是否生效 7、访问页面http://127.0.0.1:8081/getUser 源码: https://gitee.com/hjj520/spring-cloud-2.x/tree/master/sc-freemarker 本文作者:java乐园 本文来自云栖社区合作伙伴“JAVA乐园”,了解相关信息可以关注“JAVA乐园”

优秀的个人博客,低调大师

JEESZ分布式架构集成阿里云OSS存储

摘要: 1. 服务接口定义 /** * 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 * @param request * @param response * @param uid 用户id * @param userType 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 0:视频 * @param files 上传的文件对象 * @return 1. 服务接口定义 /** * 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 *@paramrequest *@paramresponse *@paramuid 用户id *@paramuserType 文件上传 1:头像 2:显示图片 3:个人封面 :4:基础图片 0:视频 *@paramfiles 上传的文件对象 * @return * @throws Exception */ @RequestMapping(value = "/upload/base64Code", method = RequestMethod.POST) public ResponseVO fileuploadBase64(@RequestBody JSONObject json, HttpServletRequest request, HttpServletResponse response) throws Exception { String uid = json.optString("uid"); String userType = json.optString("userType"); String base64Code = json.optString("base64Code"); String oldName = json.optString("oldName"); String suffix = json.optString("suffix"); //获取当前登陆用户 if(StringUtils.isEmpty(uid)){ return CloudResponseCode.buildEnumResponseVO(CloudResponseCode.USER_ID_NOT_NULL, null); } //上传文件新名字 String newName = String.valueOf(new Date().getTime()); String fileKey = CloudConstant.VITAL_USER_INFO_PATH + uid + "/" + newName + "." + suffix; AliyunUtils.getInstance().uploadByte(base64Code.getBytes(), fileKey); ...... ....... return CloudResponseCode.buildEnumResponseVO(CloudResponseCode.FILEUPLOAD_SUCCESS, obj); } 2. oss utils封装 /** * 上传byte数组 * @param fileByte * @param fileKey */ public void uploadByte(byte[] fileByte, String fileKey){ // 创建OSSClient实例 OSSClient ossClient = new OSSClient(CloudConstant.ENDPOINT, CloudConstant.ACCESSKEYID, CloudConstant.ACCESSKEYSECRET); // 上传byte数组 ossClient.putObject(CloudConstant.BUCKET, fileKey, new ByteArrayInputStream(fileByte)); // 关闭client ossClient.shutdown(); } /** * 上传文件流 * @param inputStream * @param fileKey */ public void uploadInputStream(InputStream inputStream, String fileKey){ // 创建OSSClient实例 OSSClient ossClient = new OSSClient(CloudConstant.ENDPOINT, CloudConstant.ACCESSKEYID, CloudConstant.ACCESSKEYSECRET); // 上传文件流 ossClient.putObject(CloudConstant.BUCKET, fileKey, inputStream); // 关闭client ossClient.shutdown(); } /** * 删除文件 * @param fileKey */ public void deleteFile(String fileKey){ // 创建OSSClient实例 OSSClient ossClient = new OSSClient(CloudConstant.ENDPOINT, CloudConstant.ACCESSKEYID, CloudConstant.ACCESSKEYSECRET); // 删除文件 ossClient.deleteObject(CloudConstant.BUCKET, fileKey); // 关闭client ossClient.shutdown(); } 3.界面效果

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册