小编MyT*_*tle的帖子

Apache POI Word教程.

有人知道使用Apache POI库使用MS Word的好教程吗?我想了解如何创建word文档.doc(或者我可能需要创建模板.dot)来创建${customer.name}内部文档(模板)之类的变量,然后通过Range.replaceText("${customer.name}","Microsoft CO"); 或者替换它可能${customer.name}不是变量而只是纯文本(为了更清晰起见,它被命名为变量名称)?此外,我没有找到有关在POI中使用表格的教程.

事实上,我有.doc文件,我需要替换一些变量,如Name,Surname,我还需要用一些值填充表.

java apache apache-poi

9
推荐指数
2
解决办法
2万
查看次数

将Java的Integer转换为Scala的Int

我有一段返回的Java代码,java.lang.Integer它可以是null:

someClass.getMyInteger

但是当我在Scala类中使用它时,我收到此错误:

引起:scala.Predef $ .Integer2int的java.lang.NullPointerException(Predef.scala:357)

即斯卡拉隐含试图Java的转换Integer到Scala的Int(使用隐式Integer2int方法),但由于在这种情况下Integer是null 它失败的异常.

如何解决这个问题呢?

java scala

9
推荐指数
1
解决办法
5734
查看次数

在Restangular中发送GET参数

我在我的项目中使用Restangular,之前这段代码适用于检索对象数组:

var params = {name: "Stack", surname: "Overflow"}
var service = Restangular.all('users')
service.getList(params)
Run Code Online (Sandbox Code Playgroud)

来自服务器的响应只是一个对象数组:

[
 {...},
 {...}
]
Run Code Online (Sandbox Code Playgroud)

但现在我添加了分页,我的响应现在不包含数组,而是包含数组的对象:

{
   totalCount: 500,
   data: [
     {...},
     {...}
   ]
}
Run Code Online (Sandbox Code Playgroud)

此外,我改service.getList(params)到service.get(params)(因为getList预计只有阵列).

在此更改后,我的GET参数没有字符串化,即我在调试器请求中看到如下:

users/[object%20Object]

但是早些时候(当使用getList方法时)它按预期工作:

users?name=Stack&surname=Overflow

这里有什么问题?

http angularjs restangular

9
推荐指数
1
解决办法
1万
查看次数

勒纳。安装依赖到根项目

我有这样的标准Lerna存储库:

my-repo
 - package.json
 - packages
   - api
     - package.json
   - web-app 
     - package.json
Run Code Online (Sandbox Code Playgroud)

如果我在两个包中都需要相同的依赖项(例如lodash),那么教程中的人建议将它安装到两个子模块中,然后使用lerna bootstrap --hoist标志引导项目。

由于--hoist标志lodash依赖将仅加载到根级别,node_modules但两个子模块都将其作为依赖包含在适当的位置package.json

但是 Node 的包解析算法会在文件树中搜索文件node_modules夹。

所以我的问题是为什么我不能只将公共依赖项安装到根级项目?然后lodash将位于 root 的node_modules. 并且子模块(包)会找到它,因为 Node 会node_module一直搜索直到到达文件系统的根目录。

至少它会帮助我避免使用 uncommon lerna bootstrap --hoist,并且lodash依赖项只会在顶层出现一次package.json(而不是两次:在package.json两个子模块中)

node.js lerna monorepo

9
推荐指数
1
解决办法
1万
查看次数

GraphQL DataLoader应该将请求包装到数据库还是将请求包装到服务方法?

我有一个非常普通的GraphQL模式,如下所示(伪代码):

Post {
  commentsPage(skip: Int, limit: Int) {
    total: Int
    items: [Comment]
  }
}
Run Code Online (Sandbox Code Playgroud)

因此,为避免在请求多个Post对象时出现n + 1问题,我决定使用Facebook的Dataloader。

由于我正在使用Nest.JS 3层分层应用程序(Resolver-Service-Repository),因此我有一个问题:

应该使用DataLoader包装存储库方法还是应该使用Dataloder包装服务方法?

下面是我的返回Comments页面的服务方法的示例(即,从commentsPage属性解析器调用的此方法)。内部服务方法中,我使用2个存储库方法(#count 和#find):

@Injectable()
export class CommentsService {
    constructor(
        private readonly repository: CommentsRepository,
    ) {}

    async getCommentsPage(postId, dataStart, dateEnd, skip, limit): PaginatedComments {
        const counts = await this.repository.getCount(postId, dateStart, dateEnd);
        const itemsDocs = await this.repository.find(postId, dateStart, dateEnd, skip, limit);
        const items = this.mapDbResultToGraphQlType(itemsDocs);
        return new PaginatedComments(total, items)
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,我应该为每个存储库方法(#count, …

graphql nestjs dataloader

9
推荐指数
1
解决办法
241
查看次数

打印包含JBIG2图像的PDF

请给我一些库,它们可以帮助我打印包含JBIG2编码图像的PDF文件.PDFRenderer,PDFBox不要帮助我.这些库可以打印简单的PDF,但不能打印包含JBIG2图像的PDF.PDFRenderer尝试修复它(根据PDFRedndrer的bug跟踪器上的bug问题),但仍然有些页面(特别是条形码存在的地方)不想打印.

PS我javax.print在applet中使用API

谢谢!

更新:也试过ICEPdf,太不想工作了.

我得出结论,所有这些库(PDFRenderer,ICEPdf,PDFBox)都使用 JPedalsjbig2解码器.Bug(某些页面未打印)来自此解码器库.该解码器的开源版本(用于PDFRenderer,ICEPdf,PDFBox)不再受支持,但是JPedal该项目有一个新的商业分支,他们写道,这个bug已在新的商业版本中修复,售价9美元ķ.

有任何想法吗?

更新2:昨天我试图用其他开源库取代JPedal的免费jbig2-imageio库.但是我没有取得任何成功的结果,所以我在他们项目的页面上创建了一个新主题(google-code的论坛 - 这里).将不胜感激任何帮助.

我还发现了一些关于Apache PDFBoxbug-tracker的有用讨论:这里和这里.

java printing pdf applet jbig2

8
推荐指数
1
解决办法
6885
查看次数

Maven的.将.DLL放在JAR的根目录中

如何.dll使用Maven在JAR的根目录中包含本机文件?

java jar maven

8
推荐指数
1
解决办法
6192
查看次数

Hibernate Validator.如何使用@Valid注释?

@Valid将它放在方法参数级别时,注释的目的是什么?

public void (@Valid Person p) { ... }
Run Code Online (Sandbox Code Playgroud)

我创建了一个测试,并将此方法传递给非有效对象,但没有任何反应.
我希望得到一个例外.

java hibernate-validator

8
推荐指数
1
解决办法
2万
查看次数

Intellij IDEA未检测到更改

昨天我重构了我的项目,我改变了我的包的布局(我将一些包移到了另一个包中,创建了新的包等).但是现在,当我尝试运行JUnit测试时,我会得到NoSuchMethodError重构后更改名称的方法.此外,当我更改方法中的其他代码时,IDEA仍然运行旧代码..我试图在文件菜单中运行"无效缓存",我也尝试重新启动计算机 - 没有结果.哪里可以有问题?

编辑:昨天移动包后IDEA没有正确更改.java文件中的包声明,所以我手动更改了它们

java intellij-idea

8
推荐指数
3
解决办法
1万
查看次数

在Hibernate中通过ID获取对象

我注意到我们的高级开发人员使用以下代码按ID检索实体:

@Override
public Source get(Long id) {
    Session session = getSession();
    if( session == null )
        session = sessionFactory.openSession();
    final Source source = (Source)session.load(Source.class, id);
    Hibernate.initialize(source);
    return source;
}
Run Code Online (Sandbox Code Playgroud)

这段代码有什么好处?

为什么不简单写作

return (Soruce) getSession().get(Source.class, id);
Run Code Online (Sandbox Code Playgroud)

java orm hibernate

8
推荐指数
1
解决办法
1万
查看次数