我的一些域类变得相当丰富:它们实现了一个有趣的可比较,可能有加号,减号,乘法和div,许多都有一些方便的getter来调用服务并确定复杂的东西.最重要的是,他们拥有合适的属性.我正在将这两者用于正常的"数据库事务",并且在我只想要一个具有所有这些方法但可能不想保存它的对象的时候.
我的队友确信这非常糟糕,并建议我应该使用DTO(数据传输对象),根据我的理解,这将是一个POGO/POJO,其中一个域类'代码复制/粘贴.这似乎真的不干,我看不出有什么好处.将域对象不时用作常规对象有什么问题吗?我错过了DTO的观点吗?
我看到有人评论Java堆内存是连续的,人们说相反.那么,有人可以给我一个最终答案并解释这个问题吗?另外,Java堆中是否存在某种类型的数据结构,就像Java Stack一样?
我使用带有Struts 2的struts-menu 2.4.3开发了一个菜单.它工作正常,但我需要从属性文件(router-messages.properties)中获取菜单的标题.整个申请就像这样国际化.但它只适用于struts-menu.这是我的menu-config.xml文件:
<Menu name="mainMenu" title="" >
<Item name="ecfMenu" title="ECFs" roles="FISCO" location="DisconnectedEcfsSearch" />
<Item name="reportsMenu" title="Relatórios" roles="ADMIN" location="AlarmReportSearch"/>
<Item name="fiscoMenu" title="Fisco" roles="ADMIN" location="UpdateFiscoForm"/>
<Item name="alarmMenu" title="Alarmes" roles="ADMIN" location="AlarmNotification"/>
<Item name="userMenu" title="application.header.users" roles="ADMIN" location="UserSearch"/>
<Item name="consoleMenu" title="Console" roles="FISCO" location="ConsoleSearch"/>
</Menu>
Run Code Online (Sandbox Code Playgroud)
请注意,我正在尝试在项目'userMenu'中使用我的属性文件的密钥.所有其他项目都有效,但不是这一项.
这是我的jsp:
<menu:useMenuDisplayer permissions="rolesAdapter" name="Velocity"
config="/WEB-INF/tabs.html">
<menu:displayMenu name="mainMenu" />
</menu:useMenuDisplayer>
Run Code Online (Sandbox Code Playgroud)
我四处搜索,甚至发现一个人有同样的问题,但对他没有回应.= /
有谁知道如何使struts-menu识别我正在使用属性文件的键而不是文字字符串?
谢谢!
我目前正在一个应用程序中工作,我需要在更大的字符串中查找所有出现的字符串,如$ {[0-9-a-zA-Z]}.这是我的方法:
def countVariables(str) {
def pattern = ~'${sss}'
def matcher = str =~ pattern
print matcher.count
}
Run Code Online (Sandbox Code Playgroud)
现在问题.
当我传递像"asidb $ {sss} asodniasndin"这样的字符串时,我得到:
groovy.lang.MissingPropertyException: No such property: sss for class: ConsoleScript83
Run Code Online (Sandbox Code Playgroud)
我认为,鉴于Groovy $ {}中的属性,我遇到了这些冲突.在这种情况下,我将不得不运行整个文本搜索美元符号并将其替换为其他内容?或者有更简单的方法吗?
问候!