问题列表 - 第46062页

使用Commons BeanUtils时,为特定类的所有子类注册Converter的最佳方法是什么?

例如,如果我希望为java.util.Map的所有实例注册一个Converter,有没有办法做到这一点:

new BeanUtilsBean().getConvertUtils().register(new MyConverter(), Map.class);
Run Code Online (Sandbox Code Playgroud)

在哪里为该MyConverter#convert()Map的任何实例调用该方法(例如HashMap)?

这背景是我正在使用BeanUtils从数据库中填充各种不同的bean.它们的一些属性是实现特定接口的枚举,为了设置它们的值,需要一个自定义例程.我希望为所讨论的接口的所有实现注册一个转换器类,但是找不到这样做的方法,所以最后必须通过检查bean中的每个属性的类来动态地执行它.注册我的转换器类,如果它们碰巧是这个接口的实例:

BeanUtilsBean b = new BeanUtilsBean();
Class< ? > propertyType = pu.getPropertyType(this, setterName);

if (isImplementationOfMyInterface(propertyType)) {
    b.getConvertUtils().register(new MyConverter(), propertyType);
}

b.setProperty(this, setterName, value);
Run Code Online (Sandbox Code Playgroud)

这看起来很讨厌,我相信一定有更好的办法吗?

java apache-commons-beanutils

4
推荐指数
1
解决办法
3610
查看次数

如何使用Excel VBA宏循环行?

我是VBA的新手,但对PHP非常好.话虽这么说,我正在努力与VBA循环......

我有40行称为"SH1"的这张表:

SH1

     A     B     C     D     E
 1   2   One    1.0a   12
 2   7   Two    2.0b   34
 3  13   Three  3.0c   56
 4  14   Four   4.0d   78
..
40
Run Code Online (Sandbox Code Playgroud)

我需要遍历40行并检查A列中的值.如果A列中的值符合我的条件(见下文),则生成一些输出并将其放入另一张表中.

我的输出表是3列,称为"SH2":

SH2

     A     B     C     D     E
 1  1.0a   12    One
    2.0b   34    Two
 2  3.0c   56    Three
    4.0d   78    Four
..
15
Run Code Online (Sandbox Code Playgroud)

我决定什么去哪里的标准:

// First loop:
if a1 < 8, put c1 in SH2 a1, put d1 in SH2 b1, put b1 in SH2 c1
if a2 < …
Run Code Online (Sandbox Code Playgroud)

excel vba loops excel-vba

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

jqgrid将自定义按钮添加到导航图层以转到新页面

好的,我使用jqgrid只显示信息的子集.

我想在导航图层中使用自定义按钮导航到用户可以输入新记录的新页面.

即我想要一个按钮(新记录",当点击时加载一个包含我的记录输入表格和代码的新页面.

我可以很好地创建bvutton,但我似乎无法找到正确的方法来调用一个加载新页面的函数.

有任何想法吗??

javascript jquery jqgrid

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

XSLT编号仅计算多文件文档的当前文件中的实例

我的任务是从一些XML文件中整理一本书(使用XSL FO),现在我正在尝试编写本书中的数字(简单的编号,章节中没有重置或其他),我天真的方法是这样做的

<xsl:template match="figure">
  <fo:block xsl:use-attribute-sets="figure">
    .. stuff to deal with images ..
    <fo:block xsl:use-attribute-sets="figure-caption">
      Figure <xsl:number level="any"/>: <xsl:apply-templates/>
    </fo:block>
  <fo:block xsl:use-attribute-sets="figure-caption">
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

我有一个聚合XML文件,使用这样的document()函数选择要使用的文件:

<xsl:template match="include">
  <xsl:apply-templates select="document(@src)"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是number似乎总是只计算当前文件中的实例,这不是我想要的(目前,每个文件只有一个或两个图像,导致所有数字都是'图1'或'图2' ).

我考虑过两种方法,基本上都是两遍XSLT.首先,直截了当的方法是使用身份变换生成包含整本书的中间XML,由于其他原因我不愿意这样做.

第二,使用node-set()扩展,我试过这样的

<xsl:template match="include">
  <xsl:apply-templates select="ext:node-set(document(@src))"/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

但这产生了同样的结果.

有任何想法吗?也许某些东西不是两遍变换?任何帮助将不胜感激.

xslt

6
推荐指数
1
解决办法
434
查看次数

有没有办法在VS 2010中使用TFS 2008将您的更改作为新分支进行检查?

我的问题很简单我在项目中做了很多改动,我不想立即与主分支合并.在我制作这些变化时,我没有在这些变化开始时采取分支.所以现在我试图找到一种方法来分支检查我的代码,但似乎没有解决方案.我该怎么做,最好的方法是什么.我正在使用连接到TFS 2008的Visual Studio 2010.

非常感谢.

tfs tfs2008 visual-studio-2010 branching-and-merging

7
推荐指数
1
解决办法
724
查看次数

克隆后存储库中的文件,但没有历史记录

我们之前有一个从Subversion转换过的Mercurial存储库,今天已经注意到存储库中的文件没有任何历史记录.

此行为的一个症状是hg status报告文件是干净的,而hg log报告没有相同文件的更改集:

> hg clone [repo]
> hg st -c FileWithMissingHistory.cs

C  FileWithMissingHistory.cs

> hg blame FileWithMissingHistory.cs
FileWithMissingHistory.cs: no such file in rev [...]
> hg log FileWithMissingHistory.cs
> hg log FileWithMissingHistory.cs -f
abort: cannot follow nonexistent file: "FileWithMissingHistory.cs"

> hg log -v | grep FileWithMissingHistory.cs

[gives output, there arechangesets mentioning the file]
Run Code Online (Sandbox Code Playgroud)

显然,示例中的文件名已更改.我尝试过使用hg验证,但是这个命令报告说repo没问题.有没有人经历过这一点,有什么我们可以做的让历史"恢复生机"?在所讨论的文件上放置虚拟历史记录是可以接受的,但不是最理想的.

编辑: 我已经做了一些调查,并注意到"FileWithMissingHistory.cs"在修订版238中从另一个文件名(hg copy + delete)重命名.如果我执行hg update -r238并且hg登录此版本的文件我做没有任何历史.在原始文件上执行hg登录会按预期报告历史记录,因此在复制过程中似乎会以某种方式丢失历史记录(同样,使用hg副本重命名文件,并且变更集清楚地表明文件已被复制).

mercurial history

5
推荐指数
1
解决办法
886
查看次数

Java中的Future和FutureTask有什么区别?

由于使用ExecutorServicesubmit一个Callable任务并返回Future,为什么需要使用FutureTask包装Callable的任务和使用的方法execute?我觉得他们都做同样的事情.

java callable executorservice futuretask

49
推荐指数
4
解决办法
3万
查看次数

DynamicReports与DynamicJasper

背景

使用DynamicReports开发Java EE应用程序,到目前为止对我来说已经足够了.最近我找到了DynamicJasper,我想知道它是不是更好的选择.

我可以看到DynamicReports可能有更好的支持和社区.

问题

  • 您对这两个图书馆的经历是什么?
  • 哪个提供更好的功能?
  • 彼此的优点和缺点是什么?

谢谢!

jasper-reports

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

HashMap在同一个键下有多个值

我们是否可以使用一个键和两个值来实现HashMap.就像HashMap一样?

请帮助我,还告诉(如果没有办法)任何其他方式来实现三个值的存储,其中一个作为键?

java

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

Hibernate问题 - "使用@OneToMany或@ManyToMany定位未映射的类"

我找到了Hibernate Annotations的脚,我遇到了一个问题,我希望有人可以提供帮助.

我有2个实体,Section和ScopeTopic.Section有一个List类成员,所以一对多关系.当我运行我的单元测试时,我得到了这个异常:

使用@OneToMany或@ManyToMany定位未映射的类:com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic]

我会假设错误意味着我的ScopeTopic实体未映射到表?我看不到我做错了.以下是实体类:


@Entity
public class Section {
    private Long id;
    private List<ScopeTopic> scopeTopics;

    public Section() {}

    @Id
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @OneToMany
    @JoinTable(name = "section_scope", joinColumns = {@JoinColumn(name="section_id")},
               inverseJoinColumns = {@JoinColumn(name="scope_topic_id")} )
    public List<ScopeTopic> getScopeTopic() {
        return scopeTopic;
    }

    public void setScopeTopic(List<ScopeTopic> scopeTopic) {
        this.scopeTopic = scopeTopic;
    }
}
Run Code Online (Sandbox Code Playgroud)
@Entity
@Table(name = "scope_topic")
public class ScopeTopic {
    private Long id;
    private String topic;

    public …
Run Code Online (Sandbox Code Playgroud)

hibernate jpa

98
推荐指数
5
解决办法
11万
查看次数