demo java add - jmr-source/doc GitHub Wiki
生成新增页面。

- 模型:shop
当前任务的模型名称是shop,包含一个java实体模型book,book的relation值是one; 我们在模板中会通过<entity>得到它。 关于本demo的模型结构,详细内容请点击:模型结构


- 模板:add.jsp.jet
我们为这个模型新设了以下属性: Class:头字母大写的名称,可以作为类名或者需要头字母大写的部分,它的值是"Book"。 class:头字母小写的名称,可以作为头字母小写的部分,它的值是"book"。 menu:界面菜单栏的名称,它的值是"book"。
- 生成目录:/jmr/WebContent/views/${one.class}Add,如果目录不存在会自动创建。

- 文件名:${one.class}Add


- 扩展名:我们生成的是jsp页面,所以扩展名为jsp
为了得到模型的代码提示,选好jmr文件和对应的模型shop。


- 得到entity,它的relation为one,对应的模型为book,新设变量object指向one。
- 设置变量menu,作为标题或者菜单,通过object.property("menu")得到,值是Book。
- 设置变量Class,作为头子母大写部分,通过object.property("Class")得到,值是Book。
- 设置变量class,作为头子母小写部分,通过object.property("class")得到,值是book。

逻辑:
--遍历字段,是可编辑字段才遍历
<table>
for field : object.fields object.isEdit
<tr>
--输出字段名
<th>field.name</th>
<td>
--如果字段的控件类型是文本
if field.controlType == text
--输出input控件
<input ...>
--如果字段的控件类型是下拉框
elseif field.controlType == select
--输出select控件
<select ...>
--遍历字段的data
for data : field.datas
--选项的值为data.value,选项名为data.name
<option value="data.value"/>data.name</option>
</select ...>
--如果字段的控件类型是日期
elseif field.controlType == date
--输出日期控件
<input class="Wdate"...>
</td>
</tr>
</table>

field.property("isEdit") == true判断字段是否可编辑,可编辑的字段才需要填写内容,id作为主键,不需要显示在列表中。

运行结果

类似地,可以生成验证清楚和返回的javascript。

运行结果

