我试图使用AOP在带注释的控制器之后进行一些处理.一切都在运行,没有错误,但建议没有被执行.
这是控制器代码:
@Controller
public class HomeController {
@RequestMapping("/home.fo")
public String home(ModelMap model) {
model = new ModelMap();
return "home";
}
}
Run Code Online (Sandbox Code Playgroud)
和application-config中的设置
<aop:aspectj-autoproxy/>
<bean id="testAdvice" class="com.test.TestAdvice">
</bean>
<bean id="testAdvisor"
class="org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor">
<property name="advice" ref="testAdvice" />
<property name="expression" value="execution(* *.home(..))" />
</bean>
Run Code Online (Sandbox Code Playgroud)
和实际的建议
public class TestAdvice implements AfterReturningAdvice {
protected final Log logger = LogFactory.getLog(getClass());
public void afterReturning(Object returnValue, Method method, Object[] args,
Object target) throws Throwable {
logger.info("Called after returning advice!");
}
}
Run Code Online (Sandbox Code Playgroud)
甚至可以在带注释的控制器上提供建议吗?我使用的是Spring 2.5.
在我的应用程序中,我有一系列表格可以导致图像.在纵向模式下,右下角有一个按钮,当我选择此按钮时,屏幕翻转,我可以做笔记.
当我将iPhone转为横向模式时,此按钮完全消失.
有任何想法吗?
我正在建立一个项目,将由我所在组织的几位程序员共享.我们正在使用git - 我是新手.项目目录包含指向不受版本控制的文档目录的符号链接.我想将版本控制下的符号链接维护为符号链接,而不是将它们解除引用,并将符号链接目录的所有内容置于版本控制之下.
我发现git命令行工具的行为方式符合我的要求:git add -A.但是,如果我尝试使用Eclipse版本的git,eGit来添加所有当前未版本化的文件,则Team->Track在项目上下文菜单中使用,eGit想要添加符号链接目录中的每个文件.有没有办法告诉eGit,不,这些是真正的符号链接,不应该被解除引用?
如何选择一切但带有id的元素?
<div id="test">
<p id="test"></p>
<p></p>
<p></p>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望能够选择第二个和第三个
有没有办法将SQL Server数据库图表复制到另一台服务器?
我找到了这个并修改它只是复制一个图表:
INSERT INTO dbB.dbo.sysdiagrams
SELECT [name],[principal_id],[version],[definition]
FROM dbA.dbo.sysdiagrams
Where name = 'MyDiagramName'
Run Code Online (Sandbox Code Playgroud)
但我需要将其复制到另一个服务器(开发到生产).
我不想创建链接服务器来执行此操作.(更新说明)背后的原因是我想将图表包含在升级脚本中.我对数据库进行了更改以支持新版本(新表等),我希望该图表是升级脚本的一部分.所以我最好把它放在SQL脚本中.如果一个分离的文件随后手动导入,它可以完成这项工作,但这不是最好的.
所以我需要将图表定义"保存"到某个文件,以便在另一台服务器上恢复它.
我在struts.xml中声明了以下操作:
<action path="/updateAccountInfo"
type="org.myCompany.UpdateAccountAction"
name="myAccountForm"
scope="session"
validate="true"
parameter="method"
input="/updateAccountInfo.jsp">
<forward name="success" path="/updateAccountInfo.jsp" />
</action>
Run Code Online (Sandbox Code Playgroud)
在我的JSP页面中,我有以下形式:
<html:form action="/updateAccountInfo.do">
<input type="hidden" name="method" value="sendMessage" />
Run Code Online (Sandbox Code Playgroud)
在我的java类中,我有以下方法:
public final ActionForward sendMessage(final ActionMapping mapping, final ActionForm form, final HttpServletRequest request, final HttpServletResponse response) throws Exception {
System.out.println("sending");
return null;
}
Run Code Online (Sandbox Code Playgroud)
Struts不是运行sendMessage,而是调用execute方法.为什么?我的struts-config错了吗?或者我错过了另一个配置设置?
在代码清晰度方面,是否有更好的方法来编写具有大量AND检查的条件而不是大的IF语句?
例如,如果其他字段不符合某些要求,我目前需要在屏幕上设置字段.目前我有一个IF语句,运行超过30 LOC,这似乎不对.
if(!(field1 == field2 &&
field3 == field4 &&
field5 == field6 &&
.
.
.
field100 == field101))
{
// Perform operations
}
Run Code Online (Sandbox Code Playgroud)
解决方案是简单地将它们分解为更小的块并将结果分配给更少数量的布尔变量吗?使代码更具可读性的最佳方法是什么?
谢谢
我刚刚意识到C#属性构造也可以与私有访问修饰符一起使用:
private string Password { get; set; }
Run Code Online (Sandbox Code Playgroud)
虽然这在技术上很有意思,但我无法想象何时使用它,因为私人领域涉及更少的仪式:
private string _password;
Run Code Online (Sandbox Code Playgroud)
我无法想象什么时候我需要能够内部获取但不能设置或设置但不能获得私有字段:
private string Password { get; }
Run Code Online (Sandbox Code Playgroud)
要么
private string Password { set; }
Run Code Online (Sandbox Code Playgroud)
但也许有一个嵌套/继承类的用例,或者可能是get/set可能包含逻辑而不是仅仅返回属性的值,尽管我倾向于保持属性严格简单并让显式方法做任何逻辑,例如GetEncodedPassword().
是否有人出于任何原因在C#中使用私有属性,或者它只是那些技术上可能但很少使用的实际代码构造之一?
很好的答案,阅读它们我剔除了私人财产的这些用途:
我需要一个url正则表达式,用于验证url字符串没有 http://www. 或https://www.
有任何想法吗?