回答前请仔细阅读。这是我构思的一种虚幻编程技术。我想知道现实生活中是否有类似的东西。
以下是JSP页面:
<%
html {
head {
title {"Pure fantasy";}
}
body {
h1 {"A heading with double quote (\") character";}
p {"a paragraph";}
String s = "a paragraph in string. the date is ";
p {
s;
new Date().toString();
}
table (Border.ZERO, new Padding(27)) {
tr {
for (int i = 0; i < 10; i++) {
td {i;}
}
}
}
}
}
%>
可以生成以下HTML页面:
<html>
<head>
<title>Pure fantasy</title>
</head>
<body>
<h1>A heading with double quote (") character</h1>
<p>a paragraph</p>
<p>a paragraph in string. the date is 11 December 2012</p>
<table border="0" padding="27">
<tr>
<td>0</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
</body>
</html>
关于这个幻想,它重新使用了相同的Java编程语言技术,使得类似于
if-else-then
,while
,try-catch
等定制关键字以非html方式表示html标签,从而易于进行语法正确性检查,并且最重要的是可以轻松地与常规Java代码混合在一起,而不会在<%
,%>
,<%=
,out.write()
等海洋中迷失。另一个添加的特性是,字符串可以直接作为命令放置到生成的HTML中打印出来,这是Java不支持的(在使用之前必须将纯字符串分配给变量)。
- 在现实生活中有类似的东西吗?
- 如果没有,是否有可能在Java或JSP中定义自定义关键字?
- 还是我必须为此创建全新的编程语言?
- 你认为这种设置存在哪些问题?
附注:我知道您可以使用HTML库使用Java代码构造HTML,但是这些库的问题在于,源代码本身没有可读的HTML表示形式,就像上面的代码一样 - 如果您明白我的意思。