Пожалуйста, прочтите, прежде чем отвечать. Это фэнтезийный метод программирования, который я придумал. Я хочу знать, есть ли что-то близкое в реальной жизни.
Следующая 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?
- Или мне нужно создать для этого совершенно новый язык программирования?
- Какие проблемы вы видите с такой настройкой?
PS: я знаю, что вы можете использовать библиотеки HTML для создания HTML с использованием кода Java, но проблема с такими библиотеками заключается в том, что сам исходный код не имеет читаемого представления HTML, как код выше, если вы понимаете, что я имею в виду.