我和各自的能手和二传手有这个dto。
/**This class encapsulates the attributes of a JSON Schema database object. */
public class SchemaDto {
/**The JSON String representation. */
private String json;
/**The note of the schema. */
private String note;
/**The date of the schema. */
private LocalDate date;
...
/**Returns a unique string representation of the schema. */
@Override
public String toString() {
return date.format(DateTimeFormatter.ofPattern("dd.MM.yyyy")) + " - " + note;
}
}
在我的html页面上,我想以 <select />
并让用户按日期和注解选择模式,编辑模式并对其进行处理。日期和注解的组合是唯一的。
<select th:field="*{s1Schema}"
th:onchange="|setEditorText('s1-editor', '*{s1Schema.json}')|" >
<option th:each="schema : ${schemas}"
th:value="${schema}"
th:text="${schema.toString()}"></option>
</select>
让我再解释一下代码: th:field="*{s1Schema}"
:应为 SchemaDto
. 我想将其存储在会话中,这样如果正在处理模式,那么选择和编辑器就不会丢失。 th:each="schema : ${schemas}"
属于 SchemaDto
,在哪里 ${schemas}
是一个
List th:value="${schema}"
:我想将架构作为 SchemaDto
不管它叫什么 schema.toString()
当传递给 th:field
.
我真的需要 SchemaDto
. 这个 date
以及 note
用于在选择和 json
应该加载到ace编辑器。
/**
* Sets the editor text.
*
* @param id The editor's id.
* @param text The text to set.
*/
const setEditorText = (id, text) => {
let editor = ace.edit(id);
editor.setValue(text, 1);
}
我很高兴能得到任何帮助!:)
1条答案
按热度按时间4ioopgfo1#
虽然我仍然不知道这是否可行,但我现在使用ajax是为了避免重新加载。