请在回答之前阅读。这是我梦寐以求的一种奇幻编程技术。我想知道现实生活中是否有什么接近的东西。
以下 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
htmltry-catch
方式表示 html 标记,可以轻松检查语法正确性,最重要的是可以很容易地与常规 Java 代码混淆,而不会迷失在<%
, %>
, <%=
,out.write()
等的海洋中。
一个附加功能是可以将字符串直接放置为命令以打印到生成的 HTML 中,这是 Java 不支持的(在使用前必须将纯字符串分配给变量)。
- 现实生活中有什么可以接近的吗?
- 如果没有,是否可以在 Java 或 JSP 中定义自定义关键字?
- 还是我必须为此创建一种全新的编程语言?
- 您认为这种设置有什么问题?
PS:我知道您可以使用 HTML 库来使用 Java 代码构建 HTML,但是此类库的问题是,源代码本身没有像上面的代码那样具有可读的 HTML 表示 - 如果您明白我的意思。