Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 替换html文件中的模板_Java_Html - Fatal编程技术网

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/JSTL
MessageFormat
的功能非常有限。我还没有决定如何表示我的数据。但是是的,我仍然在用Python和it思考;很难用Java改变我的观点和想法:D@brain_damagepython标准库比java库更高级。在java中,更常见的是使用外部依赖关系来简化常见作业。这就是像maven这样的工具如此流行的原因。在您的情况下,像velocity这样的模板依赖可能比您自己进行黑客攻击更自然。另一方面,Python内置了所有这些方便的东西,如果您很容易安装一些东西,它通常是大型的、复杂的东西,比如sqlalchemy或twisted。