在Symfony2中,selecthtml组件呈现为一个ChoiceType对象,实际上也用于checkboxes和radiobuttons.
有人真的知道如何使用Symfony2中的optgroup选项呈现选择吗?
为了完整起见,我在这里报告了一个带有optgroup标签的选择示例(来自w3cschools的示例):
<select>
<optgroup label="Swedish Cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
</optgroup>
<optgroup label="German Cars">
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)
此外,请注意,有一个类似的帖子在这里,但答案是没有说服力的.
是否可以@RequestMapping通过在属性文件中定义注释的值来定义注释的值?
实际上,我做了类似的事情:
@Controller
@RequestMapping("/xxx")
public class MyController {
...
}
Run Code Online (Sandbox Code Playgroud)
但我想将路径存储/xxx在属性文件中.为什么?例如,如果我重命名控制器中的路径,则不太可能在模板中执行mystakes.
在其他框架中,这是允许的(例如,参见Symfony).
我有一个" 模态窗口中通过向一个获得网页" divCSS属性position来fixed.该div包含输入字段.特别是,我使用的是自动完成构件从jQueryUI的.有两个主要问题:
1)第一个是,由于div具有固定位置,当您向下滚动网页时,自动填充建议不会显示为固定,而是随页面一起上下移动.您可以在此Codepen中看到该问题,我在jQuery网站上使用了城市名称自动完成的示例.
2)第二个问题是自动完成的建议显示在页面的左上角而不是输入字段的下方.不幸的是,我试图在Codepen中重现这个问题,但我不能.
我很确定问题是由CSS引起的,特别是由JQuery-UI提供的这种样式属性.也许可以通过使用自动完成小部件的位置选项来解决问题.
我应该定义什么CSS属性以及如何定义?
PS:我使用http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css上提供的主题.
我想结合使用自定义TestExecutionListener在SpringJUnit4ClassRunner我的测试数据库上运行Liquibase架构设置.我的TestExecutionListener工作正常,但是当我在我的类上使用注释时,测试中的DAO注入不再起作用,至少实例为null.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/applicationContext-test.xml" })
@TestExecutionListeners({ LiquibaseTestExecutionListener.class })
@LiquibaseChangeSet(changeSetLocations={"liquibase/v001/createTables.xml"})
public class DeviceDAOTest {
...
@Inject
DeviceDAO deviceDAO;
@Test
public void findByCategory_categoryHasSubCategories_returnsAllDescendantsDevices() {
List<Device> devices = deviceDAO.findByCategory(1); // deviceDAO null -> NPE
...
}
}
Run Code Online (Sandbox Code Playgroud)
听众很简单:
public class LiquibaseTestExecutionListener extends AbstractTestExecutionListener {
@Override
public void beforeTestClass(TestContext testContext) throws Exception {
final LiquibaseChangeSet annotation = AnnotationUtils.findAnnotation(testContext.getTestClass(),
LiquibaseChangeSet.class);
if (annotation != null) {
executeChangesets(testContext, annotation.changeSetLocations());
}
}
private void executeChangesets(TestContext testContext, String[] changeSetLocation) throws SQLException, …Run Code Online (Sandbox Code Playgroud) 我开始在Symfony2.1应用程序中使用SonataAdminBundle.我开发了所有类,现在我希望添加角色以防止查看,列出和编辑对这些用户组(例如非管理员用户)的操作.Admin
请注意,我不使用SonataUserBundle(派生自FOSUserBundle),我想使用sonata.admin.security.handler.roleSonata提供的安全处理程序:ACL对我的小项目来说功能太强大(并且提供了大量开销).
我自己的UserBundle提供User类和Group类(最后一个用于指定每个用户的角色).角色层次结构在我的security.yml文件中提供,例如:
security:
role_hierarchy:
ROLE_POST_AUTHOR: ROLE_USER
ROLE_ADMIN: [ ROLE_USER, ROLE_POST_AUTHOR]
ROLE_SUPER_ADMIN: [ ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH ]
Run Code Online (Sandbox Code Playgroud)
现在,我通过指定安全处理程序来配置config.yml文件
sonata_admin:
security:
handler: sonata.admin.security.handler.role
Run Code Online (Sandbox Code Playgroud)
在官方的文档更侧重于如何使用ACL和SonataUserBundle,所以我不知道怎么我的角色从链接security.yml与SonataAdminBundle.
PS:类似的问题是:SonataAdminBundle安全角色.
我在Symfony2项目中添加了一些数据库表.然后,我使用以下命令:
php app/console doctrine:generate:entities Acme
Run Code Online (Sandbox Code Playgroud)
更新类.然后,我尝试使用以下命令更新MySQL DB:
php app/console doctrine:schema:update --force
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误消息
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near
'like TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, INDEX IDX_8EA4B675A76ED3' at line 1
Run Code Online (Sandbox Code Playgroud)
如何查看哪个SQL查询错误?自动生成SQL查询的位置是什么?
提前致谢.
在Spring应用程序中,我使用@Autowired(required=false)了构造函数.这意味着如果要自动装配的bean在xml文件中不可用,则NoSuchBeanDefinitionException应该抛出no,因为required=false提到了().但我得到的UnsatisfiedDependencyException,NoSuchBeanDefinitionException例外.
- - 文本编辑器
public class TextEditor {
private SpellChecker x;
private String name;
@Autowired(required=false)
public TextEditor(SpellChecker x) {
System.out.println("Inside TextEditor constructor." );
this.x = x;
}
public SpellChecker getY() {
return x;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void spellCheck() {
x.checkSpelling();
}
}
Run Code Online (Sandbox Code Playgroud)
- - 拼写检查程序
public class SpellChecker {
public SpellChecker() {
System.out.println("Inside SpellChecker constructor."); …Run Code Online (Sandbox Code Playgroud) 在基于版本1.3.0.BUILD-SNAPSHOT的Spring Boot应用程序中,我在下面的文件夹中有静态资源(images,css,js).staticresources
我看到一些与安全配置相关的示例,如下所示:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(final WebSecurity web) throws Exception {
web.ignoring()
.antMatchers("/static/**");
}
}
Run Code Online (Sandbox Code Playgroud)
这个例子是否正确?应该是什么影响?如何验证它是否有效(例如,请求localhost:8080/something?我可以做些什么很酷的事情WebSecurity?
您好我的Symfony2应用程序中有三个Doctrine2实体:两个("Promo"和"PromoPeriod")捆绑Acme:PromoBundle; Acme:ShopBundle捆绑中的一个("商店").关系是:Promo - PromoPeriod:多对一.PromoPeriod - 商店:一对多.
在实体"促销"的存储库中,我尝试获取所有促销和商店,如下所示:
return $this->getEntityManager()
->createQuery("SELECT p, s
FROM AcmePromoBundle:Promo p JOIN p.period pp JOIN pp.shops s")
->getResult();
Run Code Online (Sandbox Code Playgroud)
其中:p.period是Promo实例p和PromoPeriod期间之间的关系; pp.shops是PromoPeriod pp和商店之间的关系.返回以下错误:
An exception has been thrown during the rendering of a template
("The parent object of entity result with alias 's' was not found.
The parent alias is 'pp'.")
Run Code Online (Sandbox Code Playgroud)
因此,我认为Doctrine无法理解"s"(它是Shop实体)的类型,因为它位于另一个包中.因此我尝试添加一个INSTANCE OF子句:
SELECT p, s
FROM AcmePromoBundle:Promo p JOIN p.period pp JOIN pp.shops s
WHERE s INSTANCE OF AcmeShopBundle:Shop
Run Code Online (Sandbox Code Playgroud)
再也没有.也许这不是解决问题的方法.
任何的想法?
我刚刚使用全新的Java9官方版本升级了我的Java8项目.
该项目使用Maven插件org.apache.maven.plugins:maven-jar-plugin2.6版.当我运行mvn clean install时,我现在得到以下异常:
ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project my-test-utils: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-jar-plugin:2.6:jar: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm = plugin>org.apache.maven.plugins:maven-jar-plugin:2.6
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/plugins/maven-jar-plugin/2.6/maven-jar-plugin-2.6.jar
[ERROR] urls[1] = file:/Users/jeanvaljean/.m2/repository/org/slf4j/slf4j-jdk14/1.5.6/slf4j-jdk14-1.5.6.jar
[ERROR] urls[2] = file:/Users/jeanvaljean/.m2/repository/org/slf4j/jcl-over-slf4j/1.5.6/jcl-over-slf4j-1.5.6.jar
[ERROR] urls[3] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/reporting/maven-reporting-api/2.2.1/maven-reporting-api-2.2.1.jar
[ERROR] urls[4] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/doxia/doxia-sink-api/1.1/doxia-sink-api-1.1.jar
[ERROR] urls[5] = file:/Users/jeanvaljean/.m2/repository/org/apache/maven/doxia/doxia-logging-api/1.1/doxia-logging-api-1.1.jar
[ERROR] urls[6] = file:/Users/jeanvaljean/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] urls[7] = file:/Users/jeanvaljean/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar
[ERROR] urls[8] = file:/Users/jeanvaljean/.m2/repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
[ERROR] urls[9] …Run Code Online (Sandbox Code Playgroud) java ×4
spring ×4
symfony ×4
doctrine-orm ×2
annotations ×1
autowired ×1
css ×1
forms ×1
html-select ×1
input ×1
java-9 ×1
jquery-ui ×1
liquibase ×1
maven ×1
mysql ×1
optgroup ×1
php ×1
position ×1
roles ×1
security ×1
sonata-admin ×1
spring-boot ×1
spring-mvc ×1
spring-test ×1
sql ×1
symfony-2.1 ×1