Java 替换html文件中的模板
给一本字典:Java 替换html文件中的模板,java,html,Java,Html,给一本字典: 1=f00 2=bar 3=larodi . . . 还有一些html文件,如: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> content content content {1} bla bla bla {3} &%$*#$*$%# {2}
1=f00
2=bar
3=larodi
.
.
.
还有一些html文件,如:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
content content content {1} bla
bla bla {3} &%$*#$*$%# {2} and so on...
</body>
</html>
内容{1}bla
布拉布拉{3}&%$*.$*$$%.{2}等等。。。
如何用java替换文件中的键及其值?我已经读过java.text.MessageFormat,但想不出使用它的方法
String result = MessageFormat.format(htmlString, "foo", "bar", "larodi");
String[] paramas = {"foo" , ....};
String result = MessageFormat.format(htmlString, params);
htmlString是您的html内容 您可能需要检查一些java模板引擎,如和。在我看来,消息格式化程序不使用字典,而是使用数组。因此,您的“1”不是键而是索引
它看起来有点像您还记得python
%
操作符。这不是那样的。MessageFormat使用位置系统。可以直接输入参数,也可以给出一个数组 为什么不使用String.replaceAll?很简单,也很好。好的,但是如果我有100多个数字要替换,我可以将它们全部作为参数写入这个函数吗?@brain\u damage:你可以将它们作为对象数组或字符串发送给函数。+1-甚至JSP/JSTLMessageFormat
的功能非常有限。我还没有决定如何表示我的数据。但是是的,我仍然在用Python和it思考;很难用Java改变我的观点和想法:D@brain_damagepython标准库比java库更高级。在java中,更常见的是使用外部依赖关系来简化常见作业。这就是像maven这样的工具如此流行的原因。在您的情况下,像velocity这样的模板依赖可能比您自己进行黑客攻击更自然。另一方面,Python内置了所有这些方便的东西,如果您很容易安装一些东西,它通常是大型的、复杂的东西,比如sqlalchemy或twisted。