我想要一些混凝土过滤器应用于除一个混凝土之外的所有网址(即/*
除了/specialpath
).
有可能这样做吗?
示例代码:
<filter>
<filter-name>SomeFilter</filter-name>
<filter-class>org.somproject.AFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SomeFilter</filter-name>
<url-pattern>/*</url-pattern> <!-- the question is: how to modify this line? -->
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud) 如何将字符串转换为LocalDate
?
我见过的例子如下:
LocalDate dt = new LocalDate("2005-11-12");
Run Code Online (Sandbox Code Playgroud)
但我的字符串如下:
2005-nov-12
Run Code Online (Sandbox Code Playgroud) 我知道以下项目(主要来自http://www.w3.org/community/markdown/wiki/MarkdownImplementations):
用Java实现:
在Scala中实现:
问:各自的表现特征,陷阱,怪癖是什么?哪些支持Github扩展?你会推荐哪一个玩游戏!/ Scala应用程序?
使用现代(大约2012年)Spring JDBC模板调用存储过程的正确方法是什么?
说,我有一个存储过程声明了两个IN
和OUT
参数,如下所示:
mypkg.doSomething(
id OUT int,
name IN String,
date IN Date
)
Run Code Online (Sandbox Code Playgroud)
我遇到过CallableStatementCreator
必须明确注册IN
和OUT
参数的基础方法.在JdbcTemplate
课堂上考虑以下方法:
public Map<String, Object> call(CallableStatementCreator csc, List<SqlParameter> declaredParameters)
Run Code Online (Sandbox Code Playgroud)
当然,我知道我可以像这样使用它:
List<SqlParameter> declaredParameters = new ArrayList<SqlParameter>();
declaredParameters.add(new SqlOutParameter("id", Types.INTEGER));
declaredParameters.add(new SqlParameter("name", Types.VARCHAR));
declaredParameters.add(new SqlParameter("date", Types.DATE));
this.jdbcTemplate.call(new CallableStatementCreator() {
@Override
CallableStatement createCallableStatement(Connection con) throws SQLException {
CallableStatement stmnt = con.createCall("{mypkg.doSomething(?, ?, ?)}");
stmnt.registerOutParameter("id", Types.INTEGER);
stmnt.setString("name", "<name>");
stmnt.setDate("date", <date>);
return stmnt;
}
}, declaredParameters);
Run Code Online (Sandbox Code Playgroud)
declaredParameters
当我在csc
实施中注册时,目的是什么?换句话说,为什么我需要传递一个 …
假设用户输入一个数组,例如:
Array = {France, Spain, France, France, Italy, Spain, Spain, Italy}
Run Code Online (Sandbox Code Playgroud)
我确实知道它的长度
的index
阵列将是:
index = {0, 1, 2, 3, 4, 5, 6, 7}
Run Code Online (Sandbox Code Playgroud)
现在,使用后对其进行排序 Arrays.sort(Array);
newArray
将会像:
newArray = {France, France, France, Italy, Italy, Spain, Spain, Spain}
Run Code Online (Sandbox Code Playgroud)
而newIndex
将是:
newIndex = {0, 2, 3, 4, 7, 1, 5, 6}
Run Code Online (Sandbox Code Playgroud)
问题是:如何newIndex
从输入数组中找到?
提前致谢
抽象类无法在java中实例化.但春天说的是像豆子一样的东西abstract="true"
.如果抽象类的状态仅由其子类实例初始化(我猜我是对的),那么如果我需要在抽象类中定义的方法中使用该属性那么...是否有可能它?我有一组代码如下:
class abstract A {
private Something somethingObj;
// getters and setters are present.
public void logSomething() {
try{
//some code which throws exception
}
catch(Exception e){
somethingObj.logIt(e);// I have some logic inlogIt method.
}
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个.txt文件,其中包含以下详细信息:
ID^NAME^DESCRIPTION^IMAGES
123^test^Some text goes here^image_1.jpg,image_2.jpg
133^hello^some other test^image_3456.jpg,image_89.jpg
Run Code Online (Sandbox Code Playgroud)
我想做的是解析这个广告,将值变为更易读的格式,如果可能的话,可能会变成数组.
谢谢
如何使用Velocity或FreeMarker等模板引擎来构建邮件正文?
通常人们倾向于创建以下模板:
<h3>${message.hi} ${user.userName}, ${message.welcome}</h3>
<div>
${message.link}<a href="mailto:${user.emailAddress}">${user.emailAddress}</a>.
</div>
Run Code Online (Sandbox Code Playgroud)
并使用以下属性创建资源包:
message.hi=Hi
message.welcome=Welcome to Spring!
message.link=Click here to send email.
Run Code Online (Sandbox Code Playgroud)
这就产生了一个基本问题:如果我的.vm
文件变得很大,文本行很多,那么在单独的资源包(.properties
)文件中翻译和管理它们就变得很繁琐.
我要做的是,.vm
为每种语言创建一个单独的文件,类似于mytemplate_en_gb.vm, mytemplate_fr_fr.vm, mytemplate_de_de.vm
然后以某种方式告诉Velocity/Spring根据输入Locale选择正确的文件.
这在春天有可能吗?或者我应该考虑更简单明了的替代方法?
注意:我已经看过如何使用模板引擎创建电子邮件主体的Spring教程.但它似乎没有回答我关于i18n的问题.
我必须从D/B中检索一组列值并将其作为条件进行检查.
例如,我将有像字符串"value > 2"
,"4 < value < 6"
在d/B柱.(值是一直比较的值).我将在我的代码中声明一个变量值,我应该评估这个条件.
int value = getValue();
if (value > 2) //(the string retrieved from the D/B)
doSomething();
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点??任何帮助都是很受欢迎的.谢谢.
我正在帮朋友写一些Java代码,他们对Java知之甚少.所以我给他写了一些辅助函数来轻松完成他眼中有点古怪的事情.其中一个是一个函数,它将一个String写入一个OutputStream
.看一看:
public void write(String txt, OutputStream out) {
PrintWriter printer = new PrintWriter(out);
printer.print(txt);
printer.close();
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过不同的方式轻松地使用它来编写您想要的任何位置.例如,你可以这样做:
(new StreamHelper()).write("Hello Test", System.out);
Run Code Online (Sandbox Code Playgroud)
这样做我发现之后System.out.println()
不再向shell写任何东西了.所以我认为也许会printer.close()
自动关闭System.out
,我想知道如何重新激活它,我可以在此功能再次完成后使用它.
我的假设是否正确?(如果不问这里我怎么能找到?)
如何System.out
在调用该write()
函数后继续使用?
是否有更好的方法来编写这样的辅助函数?
java ×9
spring ×3
exception ×1
io ×1
java-ee ×1
jdbctemplate ×1
jodatime ×1
markdown ×1
parsing ×1
php ×1
scala ×1
servlets ×1
spring-jdbc ×1
string ×1
text-parsing ×1