Я следующий код сохраняется в базе данных оракула как поле BLOB, в основном HTML и встроенный заводной код с SQL, которые возвращают некоторые значениярендеринг контента блобы в виде кода вместо текста
<%
import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/myDB","root", "root", "com.mysql.jdbc.Driver")
%>
<html>
<head>
<title>Database Example</title>
</head>
<body>
<table align="center" border="1">
<tr>
<td>Id</td>
<td>LastName</td>
<td>FirstName</td>
</tr>
<% sql.eachRow("select profile_id profileId, last_name lastName, first_name firstName from profile") {profile-> %>
<tr>
<td>${profile.profileId}</td>
<td>${profile.lastName}</td>
<td>${profile.firstName}</td>
</tr>
<% } %>
</table>
</body>
</html>
Теперь я имею указанное выше значение BLOB в переменной thistemplate.contents, что я пытаюсь сделать на renderthistemplate.gsp, как показано ниже:
def renderString= g.render(template:"myController/renderthistemplate",model:[rendertemplate:thistemplate.contents])
Сейчас в GSP я просто ${rendertemplate}
напечатать весь блоб. Ожидается, что он должен выполнить весь блок в качестве кода и отобразить вывод. Но на самом деле он печатает содержимое блоба в виде простой строки, ни HTML, ни код groovy не выполняются в целевом GSP. Как я могу иметь целевой GSP на самом деле визуализации содержимого двоичных объектов, как код, а не в виде строки/текста Благодаря Priyank
r подсказка и ссылка, мы будем это пробовать! –
Просто у вас возник вопрос, будет ли этот вызов создавать новый шаблон gsp каждый раз .. в зависимости от blobasString –
Sure; это не полный GSP, а код, который создает шаблон из файла '.gsp'. Как еще компилировать и запускать код Groovy из blob? Если это проблема с производительностью, я предлагаю создать шаблон один раз при запуске приложения, а затем вызвать 'make()' в этом общем шаблоне. –