小编p.m*_*ten的帖子

用Java读取Windows文件摘要属性(标题,主题,作者)

如果右键单击Windows中的文件并选择" 属性",则可以在" 摘要"选项卡中管理某些属性,例如"标题","主题"和"作者",如下例所示:

替代文字

我正试图找到一种使用Java读取这些属性的方法.有这个图书馆吗?这甚至可能吗?提前致谢!

彼得

java windows author file summary

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

包含在复杂类型中的数组在Java代码中被解开(Axis 1.4)

WSDL看起来像这样:

<xsd:element name="Parent">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element maxOccurs="unbounded" ref="tns:Child"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

预期的行为

如果我让Axis 1.4基于WSDL生成Java代码,我希望我的对象中包含以下字段:

public class MyComplexObject {
    private Parent parent;
}
Run Code Online (Sandbox Code Playgroud)

Parent类将包括阵列的Child对象.

public class Parent {
    private Child[] child;
}
Run Code Online (Sandbox Code Playgroud)

实际行为

实际行为是Child直接在父对象级别定义对象列表:

public class MyComplexObject {
    private Child[] parent;
}
Run Code Online (Sandbox Code Playgroud)

当我们通过填充数组调用webservice时,它将产生以下XML:

<Parent>
    ...
</Parent>
<Parent>
    ...
</Parent>
Run Code Online (Sandbox Code Playgroud)

导致服务器端出现故障.似乎Axis对复杂类型的嵌套数组有困难.任何人都面临同样的问题,知道任何解决方法/修复?

发现

经过一些调查后,我能够通过在XSD定义中添加一个虚拟字段来产生预期的行为:

<xsd:element name="Parent">
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element name="Dummy" type="xsd:string"/>
            <xsd:element maxOccurs="unbounded" ref="tns:Child"/>
        </xsd:sequence>
    </xsd:complexType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

看来,在这种情况下,Axis正确创建了一个Parent包装器对象:

public class Parent {
    private String dummy; …
Run Code Online (Sandbox Code Playgroud)

java serialization axis web-services

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

动态Spring bean创建

我正在使用一个API,它以XXXLocalServiceUtil类的形式公开服务,这些类是单例对象的静态包装器.我想要注入XXXLocalService对象本身,而不是使用静态XXXLocalServiceUtil方法,直接在我的代码中使用它们,例如:

@Named
public class MyMailingService {        
    @Inject UserLocalService userService;

    public String mailUser(String email) {
       User user = userService.getUser(email);
       emailUser(user);
    }
}
Run Code Online (Sandbox Code Playgroud)

并配置我applicationContext.xml喜欢:

<beans ...>
    <bean class="x.y.z.UserLocalServiceUtil" factory-method="getService"/>
    <bean class="x.y.z.CompanyLocalServiceUtil" factory-method="getService"/>
    ...
</beans>
Run Code Online (Sandbox Code Playgroud)

这非常有效.现在,我正在谈论的这个API有大约100个这样的XXXLocalServiceUtil类,每个类都有自己的静态getService方法,它返回实际的服务.我没有在我的列表中列出所有这些服务,而是applicationContext.xml让Spring为我注入的每个XXXLocalService找到正确的XXXLocalServiceUtil类.所以我需要的是某种动态bean工厂,它会为我做这项工作,当然是在延迟加载的基础上.

谁知道如何轻松实现这一目标?

spring inject cdi

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

在重命名原始文件时,Ant将文件复制到dir

我有一个需要将文件复制到某个位置的任务.如果文件已存在于目标中,则需要重命名这些目标文件(附加.bak).如果目标文件不存在,则应该只放置文件.

目前我有这个:

<target name="install-jsps">
    <copy todir="target">
        <fileset dir="source"/>
        <globmapper from="*.jsp" to="*.jsp.bak"/>
    </copy>
</target>
Run Code Online (Sandbox Code Playgroud)

然而,这会重命名文件,而我想在复制源文件之前重命名目标文件.我无法重命名整个目标文件夹,因为某些目标文件不在源文件集中.

我最好不要使用像ant-contrib这样的外部库.

ant backup copy

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

隐藏父元素的内容而不隐藏CSS中的子元素

我有以下HTML:

<span class="parent">
    Hello world
    <a href="#">Link 1</a>
    <a href="#">Link 2</a>
</span>
Run Code Online (Sandbox Code Playgroud)

游戏规则:

  • 我想使用CSS删除"Hello world"字符串
  • <a>标签应仍然可见
  • 我无法触摸HTML代码
  • 没有javascript

所以解决方案就像设置display:none一个<span>围绕"Hello world"字符串的元素.问题是没有这样的<span>,我不能创建一个.

css

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

标签 统计

java ×2

ant ×1

author ×1

axis ×1

backup ×1

cdi ×1

copy ×1

css ×1

file ×1

inject ×1

serialization ×1

spring ×1

summary ×1

web-services ×1

windows ×1