在Magento使用local.xml附带的其余脚本之前添加jQuery(或任何脚本)的推荐方法是什么?
我试过使用(在local.xml中):
<reference name="head">
<action method="addItem">
<type>skin_js</type>
<script>js/jquery-1.6.4.js</script>
</action>
</reference>
Run Code Online (Sandbox Code Playgroud)
但这最终会将jQuery添加到Magento在基本包中的page.xml中添加的脚本的末尾.我甚至尝试使用以下方法删除所有脚本:
<action method="removeItem">
...
</action>
Run Code Online (Sandbox Code Playgroud)
删除page.xml中添加的所有脚本,然后按照我需要它们的顺序将它们重新添加到local.xml中(jQuery优先),但不知何故,它们以相同的顺序结束(带有jQuery最后).
我已经逐步完成了Magento代码,并验证脚本是否已被删除,然后在Mage_Page_Block_Html_Head中重新添加到$ this - > _ data ['items'],但在某些时候,当它们被添加到页面时,它们是最后添加了jQuery.
我猜想必须有一个更优雅的方式来做到这一点,但我还没有在我的谷歌搜索中找到它.我发现的所有内容都建议直接修改page.xml,我在其他地方读过它并不是一个好主意.
出于某种原因,@Value注释不会被注入到我的课程中,而是用作其他测试类的基础.我是Spring的新手,我对Java的了解还不是最好的.我相信对于有更多经验的人来说这会更加明显,但我无法弄清楚这一点.
如果我注释掉该setDbProperties()方法,则会填充字段,但@Value仅使用注释,我会在字段中获得空值.
这是我的基础测试类:
package com.blah;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import org.dbunit.DBTestCase;
import org.dbunit.PropertiesBasedJdbcDatabaseTester;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
import org.dbunit.operation.DatabaseOperation;
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
"classpath:/WEB-INF/application-context.xml",
"classpath:/WEB-INF/application-context-test.xml" })
@ActiveProfiles("test")
public abstract class BaseDbTestCase extends DBTestCase {
@Value("${test.db.connection.url}")
private String connectionUrl;
@Value("${test.db.driver.class}")
private String driverClass;
@Value("${test.db.username}")
private String dbUserName;
@Value("${test.db.password}")
private String dbPassword;
@Value("${test.db.datasource.path}")
private String dataSource;
public BaseDbTestCase(String …Run Code Online (Sandbox Code Playgroud) 我正在开发一项REST服务,允许用户根据发票上显示的几条信息(发票号和帐单邮编)索取其列表.
我读过无数文章和Stack Overflow关于何时使用GET以及何时使用POST的问题.总的来说,共同的共识是GET应该用于幂等操作,POST应该用于在服务器端创建某些东西的操作.但是,这篇文章:
http://blog.teamtreehouse.com/the-definitive-guide-to-get-vs-post
因为我正在使用这两条信息作为验证用户身份的机制这一事实让我对这个特定场景使用GET提出质疑.我没有使用此特定方法调用更新服务器上的任何内容,但我也不一定要在URL中公开信息.
这是一个内部Web服务,只有调用该服务的前端是公开的,所以我不必担心在用户的浏览器历史记录中显示的URL.我唯一担心的是有人获得服务器日志访问的不太可能的事件,在这种情况下,我会遇到更大的问题.
出于安全原因,我倾向于POST; 然而,由于请求是幂等的,因此GET感觉就像是正确的方法.在这种情况下推荐的方法是什么?
我正在研究一个我最近接手的项目,并试图转换为使用Querydsl.
我有一个Listing类:
@Entity
public class EListing {
...
private static final long serialVersionUID = 7729681308228522567L;
@QueryInit("provider")
private EExternalId masterId;
@OneToOne(fetch = FetchType.EAGER,
orphanRemoval = true,
cascade = CascadeType.ALL)
@JoinColumn(name = "master_ext_id")
@NotNull(message = EvalMessageCode.LISTING_MASTERID_NOTNULL)
@Valid
public EExternalId getMasterId() {
return masterId;
}
public void setMasterId(final EExternalId masterId) {
this.masterId = masterId;
}
...
}
Run Code Online (Sandbox Code Playgroud)
和外部ID类:
@Entity
public class EExternalId implements Serializable {
public static final String FIELD_PROVIDER_PREFIX = "provder.";
private static final long serialVersionUID = -4577890108032056848L;
private String externalId;
private …Run Code Online (Sandbox Code Playgroud) 我有一个Maven项目,其中包含"核心"和"网络"部分.我正在尝试将其转换为多个模块.
我采用了"网络"包并将它们放入新项目中.我已经将核心项目添加为依赖项,我可以在Eclipse中引用它的类.WEB-INF\lib当我构建它时,"核心"项目正确地显示在"web"项目中.
当"核心"项目的类@Autowired在"web"项目中时,问题就出现了.
在这种特殊情况下,我将服务类从"核心"自动装配到"web"项目中的一个Web服务类中.如果我将核心服务所在的软件包添加到我context:component-scan的"web"应用程序配置中,它会找到该服务,但随后该服务会引用一个存储库,该存储库引用一个实体,该实体正在寻找一个实体管理器工厂.已经在我的"核心"项目中的应用程序上下文中进行了配置.
所以似乎也许context:component-scan在"核心"项目中可能没有发生?或者,被选中的课程可能无法用于"网络"项目?
我对多模块项目完全不熟悉,所以如果有人能让我开始朝着正确的方向着手解决这个问题,我将非常感激.
如果重要的话,我在Eclipse中使用m2e和Run Jetty Run插件; 但是,当我mvn jetty:run从命令行执行a时,我似乎遇到了同样的问题.
是否有一种简单的方法可以在表单顶部对表单错误进行分组,而不是在每个字段上方?
这是我的Scala模板:
@(registrationForm: Form[User])
@implicitField = @{ FieldConstructor(views.html.helper.twitterBootstrap2.twitterBootstrap2FieldConstructor.f) }
@import helper._
@helper.form(action = routes.Registration.index) {
<fieldset>
@if(registrationForm.hasGlobalErrors) {
<div class="alert alert-error">
<a class="close" data-dismiss="alert">×</a>
@registrationForm.globalError.message
</div>
}
<legend>Register</legend>
@inputText(
registrationForm("firstName"),
'_label -> "First Name",
'_showConstraints -> false,
'_showErrors -> true,
'_error -> registrationForm.error("firstName")
)
@inputText(
registrationForm("lastName"),
'_label -> "Last Name",
'_showConstraints -> false,
'_showErrors -> true,
'_error -> registrationForm.error("lastName")
)
@inputText(
registrationForm("emailAddress"),
'_label -> "Email Address",
'_showConstraints -> false,
'_showErrors -> true,
'_error -> registrationForm.error("emailAddress")
)
@inputPassword(
registrationForm("password"),
'_label -> …Run Code Online (Sandbox Code Playgroud)