我正在使用带有 apache poi 实现的 JXLS 2.3.0。
我使用以下代码来创建 excel :
try{
InputStream is = ObjectCollectionDemo.class.getResourceAsStream("/template.xls")
OutputStream os = new FileOutputStream("target/output.xls")
Context context = new Context();
context.putVar("employees", employees);
JxlsHelper.getInstance().processTemplate(is, os, context);
}
Run Code Online (Sandbox Code Playgroud)
我生成的 excel 文件如下所示:
如上图所示,第一个“名称”值仅显示部分内容。
但我想要的是:
即excel单元格中的内容可以换行,行高可以自动适应单元格内容。
我怎样才能做到这一点?提前致谢。
- - - - - - - 更新 - - - - - - - - -
解决办法是:
wrap text
在模板文件中一样格式化相应的单元格我们可以发现}
of${a.name}
在新的一行,改成:
即make${a.name}
在一行,则可以显示所有内容。
我在用tomcat 8,
tomcat-home / config / catalina.properties
,其中有关于
common.loader,server.loader和shared.loader
但是,在关于类加载器的tomcat文档(https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html)上,只有关于的描述common.loader
。
那么这3个装载机之间有什么区别?(我知道common class loader contains additional classes that are made visible to both Tomcat internal classes and to all web applications. Normally, application classes should NOT be placed here. If left blank, server.loader and shared.loader will use common.loader config. Webapp common jar can be placed in shared.loader.
但是还有其他区别吗?例如common.loader和server.loader,server.loader和shared.loader等之间的区别?)
我有两场战争:app.war
(struts web 应用程序)和rest.war
(经典的rest api)。
app.war
通过 jwt 令牌进行访问rest.war
,该令牌在用户登录成功后生成app.war
。
当用户使用时,需要通过使用jwt token从jsp发送ajax调用来a.war
获取一些数据。rest.war
a.war
jwt令牌的过期时间是15分钟,而会话超时时间app.war
是1小时。
但是,如果 jwt 令牌过期,即使弹出要求用户重新登录,用户仍然可以访问app.war
。
有一种选择:使用access_token
和refresh_token
,如果access_token
过期,则使用refresh_token
获取新的access_token
和refresh_token
。
对于这种方法,我有一些疑问:
首先,为什么使用两个令牌?因为我认为它们是相同的,只是refresh_token
寿命比 access_token
并使用refresh_token
新的更长access_token
,所以为什么不只是access_token
将其过期时间设置得更长呢?
其次access_token
,生成和的算法是否相同refresh_token
,只是它们的过期时间不同?
第三,如果客户端使用令牌执行多个 api 调用(同步和异步),如果其中一个调用返回 401(令牌过期),如何处理?