我在这里有一个基于Spring MVC的应用程序.我的同事(顺便说一句,他不在这里)以编程方式配置它,除了TransactionManager之外,一切似乎都有效.我从未配置过像这样的Spring Web应用程序,我也不知道该做什么,也找不到任何关于如何配置这样的web应用程序的文档.
我只会告诉你'AppInitializer'和'EntityManagerConfig'.
AppInitializer:
public class AppInitializer implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext context;
ServletRegistration.Dynamic dispatcherServletRegistration;
FilterRegistration.Dynamic encodingFilterRegistration, compressionFilterRegistration;
Set<SessionTrackingMode> sessionTrackingModes = new HashSet<SessionTrackingMode>();
sessionTrackingModes.add(SessionTrackingMode.SSL);
context = new AnnotationConfigWebApplicationContext();
context.setServletContext(servletContext);
context.scan("de.devbliss.doc");
servletContext.addListener(new ContextLoaderListener(context));
servletContext.addListener(new Log4jConfigListener());
dispatcherServletRegistration = servletContext.addServlet("main", new DispatcherServlet(context));
dispatcherServletRegistration.setLoadOnStartup(1);
dispatcherServletRegistration.addMapping("/*");
encodingFilterRegistration = servletContext.addFilter("encodingFilter", CharacterEncodingFilter.class);
encodingFilterRegistration.setInitParameter("encoding", "UTF-8");
encodingFilterRegistration.setInitParameter("forceEncoding", "true");
encodingFilterRegistration.addMappingForUrlPatterns(null, false, "/*");
compressionFilterRegistration = servletContext.addFilter("compressionFilter", GzipFilter.class);
compressionFilterRegistration.addMappingForUrlPatterns(null, false, "/*");
compressionFilterRegistration = servletContext.addFilter("springSecurityFilterChain",
DelegatingFilterProxy.class);
compressionFilterRegistration.addMappingForUrlPatterns(null, false, "/*");
servletContext.setSessionTrackingModes(sessionTrackingModes);
}
}
Run Code Online (Sandbox Code Playgroud)
EntityManagerConfig:
@Configuration
@PropertySource("classpath:/db.properties") …Run Code Online (Sandbox Code Playgroud) 我必须配置CKEditor以将class-attribute添加到内容中的每个p-tag.您可以使用config.format_p执行类似的操作,但它只会将class-attribute应用于标记为"normal"的文本,而不是默认值.
任何人?
编辑:我正在使用当前版本3.6.2.以下是我的配置的相关部分:
CKEDITOR.editorConfig = function( config )
{
config.removeFormatTags = 'b,div,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var,form,input,textarea';
config.format_p =
{
element: 'p',
attributes:
{
'class': 'tiny_p'
}
};
config.skin = "office2003";
config.entities_processNumerical = true;
}
Run Code Online (Sandbox Code Playgroud)
该config.format_p选项仅在用户从格式菜单中选择"正常"时生效,并且config.removeFormatTags仅在用户手动单击清洁按钮时才有效.两者都应该像在TinyMCE中那样自动工作.
我有两个entite(User和UserPreferences),我想要单向映射OneToOne.
代码看起来像这样:
/**
* @ORM\Table("users")
* @ORM\Entity
*/
class User
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
*/
protected $id;
...
/**
* @ORM\Column(name="user_preferences_id", type="integer")
* @ORM\OneToOne
* (
* targetEntity="UserPreferences",
* cascade={"persist"}
* )
*/
protected $userPreferences;
public function __construct() {
$this->userPreferences = new UserPreferences();
}
}
/**
* @ORM\Table("user_preferences")
* @ORM\Entity
*/
class UserPreferences extends UserPreferencesEntity
{
/**
* @ORM\Id
* @ORM\Column(name="user_id", type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
...
}
Run Code Online (Sandbox Code Playgroud)
现在,当创建新用户时,将使用新的UserPreferences对象初始化userPreferences.当试图坚持下去时user,Doctrine抛出一个异常,声称
A new entity was found …