小编hiw*_*way的帖子

当VelocityContext中找不到值时,Velocity可以为变量设置默认值吗?

Velocity只是打印标签名称,如果在VelocityContext中没有找到任何值,即我的模板文件中的$ name,但VelocityContext中没有"name"的值,所以只打印了"$ name".我希望Velocity在没有变量值的情况下打印默认值,我只是尝试扩展AbstractCotnext并覆盖internalGet()方法,但是internalGet()的返回值将被强制转换为Node对象,我不知道如何在我的internalGet()方法中创建一个新的Node对象,我认为这种方式非常复杂.

是否有一种设置默认值的简单方法(默认值只是一个字符串)?

谢谢.

velocity

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

计算一行数字(详见上下文)

有两行数字,第1行是从0开始的连续数字,现在要求你填写第2行,以确保第2行中的数字是第2行中出现的第1行中的数字对应的次数.

例如:

0 1 2 3 4 5 6 7 8 9

_ _ _ _ _ _ _ _ _ _

更具体地说,我们row1用于第1行和row2第2行,我们填写row2以确保它满意:row2[i] = count(row2, row1[i]).count(row2, row1[i])装置的频率计数row1[i]之间row2.

algorithm

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

为什么石英示例代码无法在Junit中测试?

我正在运行此quartz-2.1.0\examples\src\main\java\org\quartz\examples\example3示例代码,它运行得很好,但是如果我将main代码CronTriggerExample.java移到junit测试类中,则作业不会运行.以下是石英示例代码(我为了简化而截断它们,您可以从quartz网站获取完整代码).

SimpleJob.java:

public class SimpleJob implements Job {
  private static Logger _log = LoggerFactory.getLogger(SimpleJob.class);

  public void execute(JobExecutionContext context) throws JobExecutionException {
    JobKey jobKey = context.getJobDetail().getKey();
    _log.info("SimpleJob says: " + jobKey + " executing at " + new Date());
  }
}
Run Code Online (Sandbox Code Playgroud)

CronTriggerExample.java:

public class CronTriggerExample {
    public void run() throws Exception {
        Logger log = LoggerFactory.getLogger(CronTriggerExample.class);
        SchedulerFactory sf = new StdSchedulerFactory();
        Scheduler sched = sf.getScheduler();
        JobDetail job = newJob(SimpleJob.class)
            .withIdentity("job1", "group1")
            .build();
        CronTrigger trigger = …
Run Code Online (Sandbox Code Playgroud)

java junit4 quartz-scheduler

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

为什么System.getenv("CATALINA_HOME")返回null?

我定义了一个系统变量CATALINA_HOME,它引用了我的OS系统中的tomcat安装目录(windows 7 ultimate 64 bit),现在我想通过java获取它,我的代码如下:

System.out.println(System.getenv("CATALINA_HOME"));
Run Code Online (Sandbox Code Playgroud)

它返回null,我很确定这个变量存在于我的系统中,我输入set catalina_homecmd控制台,它显示了分配给它的值.

那么为什么我不能得到它,或者有其他方法来获得系统env变量?

PS:以下是检索到的所有变量System.getenv().

    Map<String, String> env = System.getenv();
    for (String key : env.keySet())
    {
        System.out.println(key + ":" + env.get(key));
    }

    System.out.println(System.getenv("CATALINA_HOME"));
Run Code Online (Sandbox Code Playgroud)

输出:

USERPROFILE:C:\Users\chorusheng
ProgramData:C:\ProgramData
PATHEXT:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
JAVA_HOME:C:\Program Files\Java\jdk1.6.0_20
ProgramFiles(x86):C:\Program Files (x86)
TEMP:C:\Users\CHORUS~1\AppData\Local\Temp
SystemDrive:C:
ProgramFiles:C:\Program Files
Path:C:/Program Files (x86)/Java/jre7/bin/client;C:/Program Files (x86)/Java/jre7/bin;C:/Program Files (x86)/Java/jre7/lib/i386;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;d:\Program Files (x86)\KOUTON\CTBS Standard Client;C:\Program Files (x86)\PC Connectivity Solution\;D:\oracle\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\Common Files\NetSarang;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\EgisTec BioExcess\;C:\Program Files (x86)\EgisTec BioExcess\x64;C:\Program Files (x86)\Common …
Run Code Online (Sandbox Code Playgroud)

java environment-variables

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

为什么jQuery UI Dialog没有最小化,最大化按钮?

我正在使用jQuery-1.9.1和jQuery-ui-1.10.2来弹出一个对话框,我的代码如下:

<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.10.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/jqueryUI/theme/redmond/jquery-ui-   1.10.2.custom.min.css" />
<script type="text/javascript">
$(function(){
    $("#dialog").dialog();
});
</script>
 </head>
  <body>
<div id="dialog">
     hello, this is a dialog
</div>
</body>
Run Code Online (Sandbox Code Playgroud)

对话框只有close按钮,没有minimizemaximize按钮,但我想显示它们.我在这个页面中找到了它的对话框minimizemaximize按钮,我没有在作者的javascript代码中找到关于对话框的任何特殊设置,而且他使用的jQuery-ui版本是1.8.16,我的版本的jQuery-ui是否有删除了这个功能?

PS:我的jQuery-1.9.1.min.js和jQuery-ui-1.10.2.min,js是从官方网站下载的,没有任何自定义更改.

dialog jquery-ui minimize maximize

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

下载文件时如何为不同浏览器正确设置中文文件名

我是这样设置的:

response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode("??.txt", "utf-8"));

它适用于 chrome,但不适用于 Firefox,在 Firefox 中,文件名是%E4%BD%A0%E5%A5%BD.txt.

那么如何设置文件名呢?我希望文件名在 chrome、firefox 和 IE(>=8) 中正确显示

PS:由朋友解决,分享给大家,也许能帮到别人。

/**
  return encoded file name
*/
protected String getFileName(String filename) {
    try{
        HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
        if (request.getHeader("User-Agent").indexOf("MSIE") != -1) {
            return '\"' + java.net.URLEncoder.encode(filename, "UTF-8") + '\"';
        }
        byte[] bytes = filename.getBytes("UTF-8");
        StringBuilder buff = new StringBuilder(bytes.length << 2);
        buff.append("=?UTF-8?Q?");
        for (byte b : bytes) {
            int unsignedByte = b & 0xFF;
            buff.append('=').append(HEX_CHARS[unsignedByte >> 4]).append(HEX_CHARS[unsignedByte & 0xF]);
        }
        return …
Run Code Online (Sandbox Code Playgroud)

java firefox internet-explorer google-chrome

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

为什么在Tree的样式设置为FULL_SELECTION时SWT.Tree中的虚线消失了

请参阅java2s的Tree演示代码中的演示代码。如果将Tree的sytle 更改为SWT.FULL_SELECTION,则连接节点的虚线将消失。我该怎么做才能使虚线再次可见?

java tree swt

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

如何定义一个可以在O(1)内获得最小数量的堆栈

我在互联网上看到一个算法问题,它说:

定义一个包含函数的堆栈min,通过min我们可以获得堆栈中的最小数字,以及时间复杂度pop,push并且min都是O(1).

我知道pop并且push复杂性是O(1),但我不知道如何制作min复杂性O(1),如果我定义一个变量来记住push每次最小的数字,但是什么时候pop,最小的数字可能会改变,所以我应该找到第二个最小的数字,这意味着pop复杂性不能是O(1).

那么我该如何定义堆栈以满足要求呢?

algorithm data-structures

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

如何在IDEA中调试nifi

我可以在 IntelliJ IDEA 中调试 nifi 吗?正如我只在http://nifi.apache.org/quickstart.html 中看到的关于如何构建 nifi 项目并使用 shell 命令运行的信息,没有关于如何在 IntelliJ IDEA 等 IDEA 中运行或调试的信息。

apache-nifi

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

如何使每行中除第一列之外的列左对齐?

我想将表中除第一行之外的所有列设为text-align:left,第一列是text-align在 CSS 中定义的。这是代码:

<script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script>
<style type="text/css">
table{
    border: 1px solid red;
    border-collapse: collapse;
}
table td{
    border: 1px solid red;
    text-align: center;
}
</style>
  <script type="text/javascript">
$(function(){
    $("input[type='button']").on("click", function(){
        $("#table tr td:gt(0)").css({"text-align":"left"}); 
    });

});
</script>
 </head>
<body>
<input type="button" value="click" />
<table id="table">
    <tbody>
        <tr><td width="150px">center</td><td width="150">left</td><td width="150">left</td></tr>
        <tr><td>center</td><td>left</td><td>left</td></tr>
                    <tr><td>center</td><td>left</td><td>left</td></tr>
    </tbody>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)

单击按钮后,只有第一行生效,其他行的所有列都text-left包含不应该包含的第一列。所以为什么?我必须用方法迭代tr元素吗?each

css jquery html-table

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