对于Xxxcontroller.java类

时间:2015-08-24 13:50:57

标签: java spring-roo gvnix

XxxController_Roo_GvNIXDatatables.aj未针对Xxxcontroller.java类中的更改进行更新。 添加" update = false时,删除= false"通过删除更新和删除方法来更新XxxController_Roo_Controller.aj到控制器类,但是对于XxxController_Roo_GvNIXDatatables.aj,情况并非如此。这反过来导致错误,如下所述。 示例 作为一个例子,我有下面的Spring roo脚本

"project --topLevelPackage com.springsource.petclinic

jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY

entity jpa --class ~.domain.Pet --sequenceName PET_SEQ
field string --fieldName name --notNull --sizeMin 1
field number --fieldName weight --type java.lang.Float --notNull --min 0

web mvc setup
web mvc all --package ~.web

web mvc jquery setup
web mvc jquery all

web mvc datatables setup
web mvc bootstrap setup

web mvc datatables add --type ~.web.PetController

在某些用例中,如交易,您不希望用户更新或删除,因此我通过添加" update = false,delete = false"来更改PetController.java类。太老了:

@RequestMapping("/pets")
@Controller
@RooWebScaffold(path = "pets", formBackingObject = Pet.class)
@GvNIXWebJQuery
@GvNIXDatatables(ajax = true)
public class PetController {
}

新:

@RequestMapping("/pets")
@Controller
@RooWebScaffold(path = "pets", formBackingObject = Pet.class, update=false, delete=false)
@GvNIXWebJQuery
@GvNIXDatatables(ajax = true)
public class PetController {
}

效果是在PetController_Roo_Controller.aj文件中删除了更新和删除的方法。

public String PetController.update(@Valid Pet pet, BindingResult bindingResult, Model uiModel, HttpServletRequest httpServletRequest) {
public String PetController.updateForm(@PathVariable("id") Long id, Model uiModel) {
public String PetController.delete(@PathVariable("id") Long id, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "size", required = false) Integer size, Model uiModel) {

无论其 在PetController_Roo_GvNIXDatatables.aj文件中,不删除更新和删除方法。 这会导致错误:

  1. 方法更新(Pet,BindingResult,Model,HttpServletRequest)是 未定义类型PetController
  2. 方法delete(Long,Integer,Integer,Model)未定义 PetController类型
  3. 问题:

    1. 我的假设是否正确,两个aspectJ文件应该被视为相同?
    2. 有解决方法吗? 我不想插手,因为在我看来他们不应该在那里。 从PetController_Roo_GvNIXDatatables.aj中删除代码没有帮助,因为它们是在我下次自动启动Roo shell时插入的,顺便说一句,这是正确的。

0 个答案:

没有答案