我遇到了一个问题,我在MYSQL表中已经有一个复合主键.但是现在我已经在该表中添加了另一列,并且由于一些需求更改,我必须以这样的方式修改该复合主键,即我需要将之前提到的列添加到该复合主键列表中.任何人都可以告诉我如何在不删除现有复合主键的情况下更改该表.我在Rails项目中这样做
任何人都可以帮我找到在Windows 7上安装Ruby 64位安装程序的位置,还是可以在64位计算机上安装32位ruby 1.8.6或1.9安装程序(只有一个)而没有任何问题?任何建议或文档链接将不胜感激.提前致谢.
我正在尝试使用Apache CXF开发支持WS-security的Web服务.我关注的教程就在这里.不幸的是,我不断得到以下错误让人感到懊恼.我正在使用Spring framework 3.0.5和CXF 2.3.3以及WSS4J 1.6.1.这可能是一个愚蠢的问题,但我几乎厌倦了寻找解决方案.请帮忙....
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/Vector;Lorg/apache/ws/security/WSSConfig;)I
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:839)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/Vector;Lorg/apache/ws/security/WSSConfig;)I
org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:192)
org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutInterceptor.java:134)
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
$Proxy800.getEmployee(Unknown Source)
org.samith.web.controller.FrontController.frontRequestHandler(FrontController.java:35)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Run Code Online (Sandbox Code Playgroud)
这就是我的客户端代码的样子.
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[]{"SpringCXFClient-servlet.xml"});
AuthService client = (AuthService) context.getBean("client");
Employee employee = client.getEmployee("0223938");
model.addAttribute("lastname", employee.getLastName());
model.addAttribute(
"firstname", employee.getFirstName());
Run Code Online (Sandbox Code Playgroud)
和我的clientCXF.xml文件,
<bean id="proxyFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" …
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的简单类,
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
public class Form implements Serializable {
@NotNull
@Length(min = 2, max = 20)
private String lastName;
}
Run Code Online (Sandbox Code Playgroud)
我在classpath中有messages.properties文件.然后通过Spring bean加载如下,
<bean name="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="validationMessageSource">
<ref bean="resourceBundleLocator"/>
</property>
</bean>
<bean name="resourceBundleLocator" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath*:messages.properties</value>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
我想要的是获取根据验证的bean定制的错误消息.换句话说,我想让每个ConstraintViolation对象返回我在属性文件中定义的错误消息,而不是默认消息.是否可以使用类似此格式{xxx.yyyy.zzzz}的值添加message属性,并从messages.properties文件中引用该消息?
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<Form>> inputErrors = validator.validate(form);
Run Code Online (Sandbox Code Playgroud)
如果我想为@NotNull和@Length自定义默认消息,我该怎么做?
我在Hibernate验证方面的经验为零,任何示例代码或分步指南 都将受到赞赏.
$(document).ready(function() {
$('#commentForm').submit(function(){
return $('input[type=text], textarea').each(function(index){
if($(this).attr('value') == ""){
alert(msgHash[$(this).attr('id')]);
return false;
}else{
if(!$(this).attr('value').match(validateHash[$(this).attr('id')])){
//Do nothing
alert(msgOnError[$(this).attr('id')]);
return false;
}
}
});
return true;
});
});
Run Code Online (Sandbox Code Playgroud)
这里msgOnError,msgHash和msgHash是我用来获取具有特定ID的每个文本框的消息的地图.不幸的是,每个方法都不返回false来取消提交表单.我究竟做错了什么 ??我是jQuery的新手,谢谢