问题列表 - 第40615页

在Linux上定位字体(用C++编写)

我希望能够在给定字体名称(如果存在)时获取Linux上ttf字体文件的绝对路径.是否有返回该信息的命令或API?

例如,给定"arial.ttf"我想在任何地方找到绝对路径(例如/usr/share/fonts/truetype/msttcorefonts/arial.ttf).

c++ linux fonts truetype locate

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

Spring中的ConversionService

我在Spring应用程序中遵循此方案.

  1. 请求被发送到服务器,其中包含对象的id以及要在此对象中填充的其他一些参数
  2. 具有此id的对象从数据库加载
  3. 在此对象中调用getter和setter以填充值
  4. 然后存储该对象

我在另一个问题中询问,在填充请求的参数之前,准备对象的最佳方法是什么.答案是最好的方法是使用转换服务,而不是在@ModelAtribute注释方法中或在initBinder中使用编辑器.

所以我试图使用转换器,但我没有找到类似的例子,我有点卡住了.我编写了如下代码:在init binder中我注册了转换服务.因此,在填充User对象上的值之前,会调用convert()方法从数据库加载对象.问题是这个配置不起作用,因为它将对象用户的id(用户名字段)转换为Object用户,但是它尝试用对象创建一个setUsername(),所以我得到一个"java.lang" .IllegalArgumentException:参数类型不匹配".

任何人都可以给我一个线索或使用ConversionService获得所需行为的方式的示例吗?

谢谢.

@Autowired
private ConversionService conversionService;

@InitBinder("user")
public void initBinder(@RequestParam("username")String username, WebDataBinder binder){
    binder.setConversionService(conversionService);
}

@RequestMapping(value="/user/save", method=RequestMethod.POST)
public String save(@ModelAttribute("user") User user, Model model) {        
    ...
}
Run Code Online (Sandbox Code Playgroud)

有类似的东西:

@Component
public class UserConversionService implements ConversionService{
    ...        
    @Override
    public Object convert(Object name, TypeDescriptor arg1, TypeDescriptor arg2) {
        return userService.find((String)name); 
    }
}
Run Code Online (Sandbox Code Playgroud)

java data-binding spring converter spring-mvc

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

比较对象数组

我正在寻找一种比较PHP中对象数组的简洁方法.我知道我可以检查相同大小的数组,然后遍历一个数组,寻找第二个数组中的每个对象,但我认为使用一个或多个数组比较函数会更好.

我已经测试了几个对象数组,我遇到的主要问题是数组比较函数坚持比较元素strings,如下所示:

class Foo{
    public $pk=NULL;
    function __construct($pk){
        $this->pk=$pk;
    }

    function __toString(){
        return (string)$this->pk;//even an integer must be cast or array_intersect fails
    }
}

for($i=1;$i<7;$i++){
    $arr1[]=new Foo($i);
}
for($i=2;$i<5;$i++){
    $arr2[]=new Foo($i);
}

$int=array_intersect($arr1,$arr2);
print_r($int);
Run Code Online (Sandbox Code Playgroud)

输出

Array
(
[1] => Foo Object
    (
        [pk] => 2
    )

[2] => Foo Object
    (
        [pk] => 3
    )

[3] => Foo Object
    (
        [pk] => 4
    )
Run Code Online (Sandbox Code Playgroud)

)

如果对象具有__toString()方法并且这些__toString()方法返回唯一标识符并且从不返回,那就没问题''.

但是,如果不是这种情况会发生什么,例如对于这样的对象:

class Bar{
    public $pk=NULL;
    function …
Run Code Online (Sandbox Code Playgroud)

php arrays object

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

在JavaScript中使用toString()而不是构造函数

这可能是一个愚蠢的问题,所以请坚持下去.

为什么我看到这么多的例子通过比较它的toString()到"[object Function]"来测试一个对象是否是一个函数?

例如:

function isFunction(obj) {
    return Object.prototype.toString.call(obj) == "[object Function]";
}
Run Code Online (Sandbox Code Playgroud)

我们不能使用instanceof Functionobj.constructor === Function?这些不是跨浏览器兼容的吗?

似乎效率低下,但是呢?为什么?

javascript

13
推荐指数
1
解决办法
2051
查看次数

xpath日期比较

我正在尝试根据格式中的日期属性过滤元素yyyy-MM-dd.

我的XML看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <article title="wired" pub-date="2010-11-22" />
  <article title="Plus 24" pub-date="2010-11-22" />
  <article title="Finance" pub-date="2010-10-25" />
</root>
Run Code Online (Sandbox Code Playgroud)

我的xpath尝试:

'//article[xs:date(./@pub-date) > xs:date("2010-11-15")]'
Run Code Online (Sandbox Code Playgroud)

使用xpath 2.0 - 除非绝对必要,否则将避免添加模式.

来自评论:

我相信我一定会遗漏一些东西.是否有可能需要为xs:date指定其他内容?也许一个xs:名称空间定义?

xml xpath xpath-2.0

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

以编程方式检查MSI的ProductVersion

昨天我一直在搜索高低,寻找如何快速获得msi数据库的ProductVersion.大多数情况下,我发现使用WindowsInstaller COM包装器,虽然这完成了工作,我想通过pinvoke使用msi.dll实现相同的结果.

c# database pinvoke windows-installer properties

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

android中的真实背景图片大小(带状态栏)

我想在我的应用程序中使用高细节图像作为backrgound,因为这个问题,我的设计师遇到了问题:-D

到目前为止,根据最常见设备的屏幕尺寸,我们有三种图像尺寸(每个密度一个),我们知道:

  • 低:240 x 320(例如HTC纹身)
  • mid:320 x 480(例如HTC Magic)
  • 高:480 x 800(例如Nexus One)

问题是,当我将图像设置为背景时,它会调整大小,我可以在其上看到几条水平的"鬼"线.

所以我们决定用"高度 - 减去状态栏的高度"来调整图像的大小(仅在高密度的情况下,就像测试一样),最终获得480 + 752像素的图像(根据http://developer.android.com/) guide/practices/ui_guidelines/icon_design.html,状态栏的高度为48px)

但它仍然显示那些"鬼"线,所以我们认为它正在重新调整大小......

有人能帮助我吗?我只想要一个正常的背景,没有调整大小,但我不知道真正的尺寸......

谢谢:-D

android background statusbar

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

如何了解Ref和Val类型的帮助

我一直在阅读参考和价值类型.我明白了.但是这对编码有什么帮助呢?我没有任何好的例子来了解那些知道这些东西有帮助的时候.

c# oop

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

Microsoft SQL Server中视图占用的空间大小

我在SQL Server 2008中有一个非常大的表.它有许多字段,这些字段仅对某些用户段有用,某些用户不应该看到这些字段.

这个表很大,所以我想为每个用户类创建一些简单的视图,我可以让他们访问视图,他们只能看到他们需要的列.

视图是占用数据库中的空间,还是将其保存为简单的select语句?

sql-server sql-view

12
推荐指数
1
解决办法
8698
查看次数

在matlab中获取没有Extension的文件名

我想在没有MATLAB扩展的情况下获取图像文件名.我试过使用(fileparts)函数:

[pathstr, name, ext, versn] = fileparts(filename); 
Run Code Online (Sandbox Code Playgroud)

在此函数中,(filename)必须具有完整的Path,以便在变量(name)中获取没有扩展名的文件名.

当我只有文件名('D10_11.jpg')时,我得到以下错误:

"Input must be a row vector of characters"
Run Code Online (Sandbox Code Playgroud)

请,如果他们是另一个解决这个问题的功能

matlab filenames file

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