= 常见问答 == 如何获取当前的 Locale === 直接从 request 对象中获取 [source,java] ---- request.getLocale(); ---- === 通过 LocaleResolver 获取 [source,java] ---- import org.springframework.web.servlet.LocaleResolver; @Autowired private LocaleResolver localeResolver; localeResolver.resolveLocale(request); <1> ---- == Gradle 强制刷新依赖 当 gradle 不能正常获取最新的依赖时,可通过以下命令强制刷新 [source,bash] ---- gradle --refresh-dependencies ---- == Gradle 获取依赖清单 [source,bash] ---- gradle --refresh-dependencies ---- == 查看 gitlab 版本号 [source,bash] ---- cat /opt/gitlab/embedded/service/gitlab-rails/VERSION ---- == 如何解决 thymeleaf 模板中出现的特定关键词 thymeleaf 自带一些自有的关键词,当模板中出现了这样的关键词时,会出现错误,以下给出一些示例: [source,javascript] ---- //[[ 是 thymeleaf 的关键词,而在 javascript 中可用于定义二维数组 var arrays =[[1,2],[3,4]]; //报错 var arrays =[ [1,2],[3,4] ]; //通过增加空格解决 //[( 是 thymeleaf 的关键词,出现在 javascript 的正则表达式中,无法通过增加空格实现 var reSection = /^\s*\[(.*)\]\s*$/; //报错 //解决办法如下: /**/ 进行封装,thymeleaf 将跳过中间的处理,修复错误 /*]]>*/ ---- == json 字符串及对象转换 === 通过框架提供的工具类实现 [source,java] ---- import org.wsp.framework.core.util.JacksonObjectMapper; //将 json 字符串转成 java 对象 T obj =JacksonObjectMapper.getDefaultObjectMapper().readValue(jsonString, T.class); //将 json 字符串转成 java 数组 T[] arrays = JacksonObjectMapper.getDefaultObjectMapper().readValue(jsonString, T[].class); //将 json 字符串转成 java 对象集合 List objs =JacksonObjectMapper.getDefaultObjectMapper().readValue(jsonString, new TypeReference>(){}); //将 java 对象转换成 json 字符串 String jsonString =JacksonObjectMapper.getDefaultObjectMapper().writeValueAsString(obj); ---- === 通过依赖注入bean实现 [source,java] ---- import com.fasterxml.jackson.databind.ObjectMapper; @Autowired ObjectMapper objectMapper; //将 json 字符串转成 java 对象 T obj =JacksonObjectMapper.getDefaultObjectMapper().readValue(jsonString, T.class); //将 json 字符串转成 java 数组 T[] arrays = JacksonObjectMapper.getDefaultObjectMapper().readValue(jsonString, T[].class); //将 json 字符串转成 java 对象集合 List objs =objectMapper.readValue(jsonString, new TypeReference>(){}); //将 java 对象转换成 json 字符串 String jsonString =objectMapper.writeValueAsString(obj); ---- === 格式化 json 字符串 [source,java] ---- String prettyString =JacksonObjectMapper.pretty(jsonString); ---- == xml 字符串及对象转换 === 通过框架提供的工具类实现 [source,java] ---- import org.wsp.framework.core.util.XmlObjectMapper; //将 xml 字符串转成 java 对象 T obj =XmlObjectMapper.getDefaultObjectMapper().readValue(xmlString, T.class); //将 xml 字符串转成 java 对象集合 List objs =XmlObjectMapper.getDefaultObjectMapper().readValue(jsonString, new TypeReference>(){}); //将 java 对象转换成 xml 字符串 String jsonString =XmlObjectMapper.getDefaultObjectMapper().writeValueAsString(obj); ---- === 格式化 xml 字符串 [source,java] ---- String prettyString =XmlObjectMapper.pretty(xmlString); ---- == Mac 查看某个端口占用情况 [source,bash] ---- lsof -i tcp:8888 ---- 端口号 # 显示结果示例 caddy 688 wangshaoping 11u IPv6 0xfc05ae24eb2dd587 0t0 TCP *:ddi-tcp-1 (LISTEN) idea 12474 wangshaoping 152u IPv6 0xfc05ae24f0686587 0t0 TCP [::127.0.0.1]:62888->[::127.0.0.1]:ddi-tcp-1 (CLOSED) eclipse 37328 wangshaoping 65u IPv6 0xfc05ae24f0689587 0t0 TCP [::127.0.0.1]:58450->[::127.0.0.1]:ddi-tcp-1 (CLOSED) ---- == Mac 测试某个端口的连通性 [source,bash] ---- nc -vz -w 2 localhost 8888 --------- ---- 主机IP 端口 # 出现类似以下信息,表示连通 Connection to localhost port 8888 [tcp/ddi-tcp-1] succeeded! == 如何给前端框架添加第三方依赖 === 在 package.json 文件中添加依赖包 === 在 src/platform/index.ts 文件中添加需要的 css 文件 === 在 webpack.config.mf.cjs 文件中 shared 部分添加依赖 === 在 webpack.env.build.cjs 文件中 cacheGroups 部分添加依赖 === 在 webpack.env.lib.cjs 文件中 externals 部分添加依赖 ----