小编glm*_*ndr的帖子

Java:无法通过反射访问注释

这是一个测试类:

import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

public class TestAnnotations {

    @interface Annotate{}

    @Annotate public void myMethod(){}

    public static void main(String[] args) {
        try{
            Method[] methods = TestAnnotations.class.getDeclaredMethods();
            Method m = methods[1];
            assert m.getName().equals("myMethod");

            System.out.println("method inspected ? " + m.getName());
            Annotation a = m.getAnnotation(Annotate.class);
            System.out.println("annotation ? " + a);
            System.out.println("annotations length ? "
                + m.getDeclaredAnnotations().length);
        }
        catch(Exception e){
            e.printStackTrace();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的输出:

method inspected ? myMethod
annotation : null
annotations length : 0
Run Code Online (Sandbox Code Playgroud)

我错过了通过反思使注释可见?
我是否需要一个注释处理器,即使只是检查它们的存在?

java reflection annotations

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

Rails 3:将资源路由到另一个名称

我有一个模型的CRUD控制器.

这样做resources :foo可以让我的路线/foo/:id,等等调用行动.

我想添加一个用另一种语言翻译'foo'的路线.我们来说'toto'.所以我希望所有/toto/:id等等路线的行为与/foo/:id路线等完全相同.

我怎么能实现这一目标?

routing ruby-on-rails-3

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

Java:Windows文件上的File.toURI().toURL()

我正在运行的系统是Windows XP,JRE 1.6.

我这样做:

public static void main(String[] args) {
    try {
        System.out.println(new File("C:\\test a.xml").toURI().toURL());
    } catch (Exception e) {
        e.printStackTrace();
    }       
}
Run Code Online (Sandbox Code Playgroud)

我明白了 file:/C:/test%20a.xml

为什么给定的URL之前没有两个斜杠C:?我期待file://C:....这是正常的行为吗?


编辑:

来自Java源代码:java.net.URLStreamHandler.toExternalForm(URL)

    result.append(":");
    if (u.getAuthority() != null && u.getAuthority().length() > 0) {
        result.append("//");
        result.append(u.getAuthority());
    }
Run Code Online (Sandbox Code Playgroud)

似乎文件URL的Authority部分为null或为空,因此跳过双斜杠.那么URL的权限部分是什么?它是否真的不存在于文件协议中?

java url uri filepath file-uri

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

链接jQuery选择器:lt和:gt

我有一个超过9行的表.

如果我这样做:$('table tr:gt(3):lt(6)'),我最后会收到3或6个元素,为什么?是否所有选择器都应用于相同的主选择,或者它们是否连续应用于不同的选择?

jquery jquery-selectors chaining

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

JavaScript:{} == false是一个SyntaxError?

在Firefox 3.5中,我在Firebug控制台中输入:

false=={} // => evals to false
{}==false // syntax error
Run Code Online (Sandbox Code Playgroud)

对此有何解释?

javascript equality syntax-error

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

XSLT 1.0:迭代字符串中的字符

我需要迭代字符串中的字符来构建XML结构.

目前,我这样做:

<xsl:template name="verticalize">
    <xsl:param name="text">Some text</xsl:param>
    <xsl:for-each select="tokenize(replace(replace($text,'(.)','$1\\n'),'\\n$',''),'\\n')">
        <xsl:element name="para">
            <xsl:value-of select="."/>
        </xsl:element>
    </xsl:for-each>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

这会产生类似于:

<para>S</para>
<para>o</para>
<para>m</para>
<para>e</para>
<para> </para>
<para>t</para>
<para>e</para>
<para>x</para>
<para>t</para>
Run Code Online (Sandbox Code Playgroud)

这适用于Xpath 2.0.但我需要在XPath 1.0环境中应用相同的处理replace()方法,该方法不可用.

你知道实现这个目标的方法吗?

xslt xpath

16
推荐指数
3
解决办法
9641
查看次数

Javascript:在settimeout之前调用cleartimeout可以吗?

我有一个设置计时器的函数,并在计时器到期时调用自身.

我想知道的是清除函数顶部的计时器是不好的做法.

这是因为我将不时地异步调用该函数,如果我不先清除定时器,我将同时运行两个.

我意识到我可以在我对该函数进行另一次调用之前清除计时器,但是我想知道如果我只是在包含计时器的函数内部保持cleartimeout调用它是否会导致任何浏览器出现问题.

另一个想法 - 我可以在进行cleartimeout调用之前测试timer变量,看看它是否是一个计时器?

这是一些示例代码:

function onAir(){

    // reset timer  
    clearTimeout(timer);

    $.getJSON("http://mywebsite.com?format=json&callback=?",function(data){
        if(data.result == '1'){
            do stuff here   
        }
        else{
            do other stuff here
        }   
    });

    // start timer
    timer = setTimeout("onAir()",60000);
} 
Run Code Online (Sandbox Code Playgroud)

谢谢你和我分享你的大脑!

肯尼

javascript timer

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

触发右键单击

我正在尝试使用ContextMenu插件将上下文菜单延迟绑定到元素.所以在第一次右击这些元素时,我想:

  1. 拦截右键点击某个"无文字"课程的直播活动,
  2. 确定是否data('events').contextmenu存在,
  3. 如果没有,请附上上下文菜单(并更改类以避免重新抛出此实时进程),
  4. 重新抛出右键单击事件以显示右键单击.

我遇到了最后一项问题.jQuery允许.click()或者.trigger('click')模拟左键单击,但似乎没有办法通过触发右键单击事件trigger.

还是有吗?

javascript jquery contextmenu

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

如何在PDF报告中使用xslt显示页码(N的N)

我正在使用XSLT生成PDF报告.我的要求是在报告的页脚以N的页面N(例如,第1页,共3页)的格式显示页码.对于静态值,它工作正常,并在每页上重复.由于报告中的总页数未知且会改变运行时间,因此我将如何完成此任务.

我的XSLT代码段

<xsl:template name="footerall">
<xsl:variable name="maxwidth" select="7.07000" />
<fo:static-content flow-name="xsl-region-after">
<fo:block>
<xsl:variable name="tablewidth29" select="$maxwidth * 1.00000" />
<xsl:variable name="sumcolumnwidths29" select="0.04167 + 1.56250 + 0.04167" />
<xsl:variable name="factor29">
<xsl:choose>
<xsl:when
test="$sumcolumnwidths29 &gt; 0.00000 and $sumcolumnwidths29 &gt; $tablewidth29">
<xsl:value-of select="$tablewidth29 div $sumcolumnwidths29" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="1.000" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="defaultcolumns29" select="1" />
<xsl:variable name="defaultcolumnwidth29">
<xsl:choose>
<xsl:when test="$factor29 &lt; 1.000">
<xsl:value-of select="0.000" />
</xsl:when>
<xsl:when test="$defaultcolumns29 &gt; 0">
<xsl:value-of
select="($tablewidth29 - $sumcolumnwidths29) div $defaultcolumns29" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="0.000" /> …
Run Code Online (Sandbox Code Playgroud)

pdf xsl-fo xslt-2.0

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

图像处理库

我最近回到图像处理.我之前使用的大部分内容都是Matlab.我想切换到更方便和开放的语言.

在使用了Python库PIL并且痛苦地理解它内置了只有3x3和5x5过滤器内核之后,我决定在这里询问是否有人知道好的图像处理库.

现有的图像处理库(任何语言)是什么?他们是快/成熟还是处于早期阶段?

language-agnostic image-processing

13
推荐指数
3
解决办法
6731
查看次数