在构建css图像精灵时,我正在寻找一些最佳实践和提示.问题:考虑一个包含大量图像的网站:
png吗?如果它有帮助:我使用罗盘精灵实用程序,它会自动将图像文件夹转换为一个png文件并css为其创建一个文件.图像自动对齐
private List gridModel;
public List getGridModel() {
return gridModel;
}
Run Code Online (Sandbox Code Playgroud)
Eclipse显示警告:
列表是原始类型.应参数化对泛型类型List的引用.
将代码更改为以下将删除警告
private List<?> gridModel;
public List<?> getGridModel() {
return gridModel;
}
Run Code Online (Sandbox Code Playgroud)
但是,上面的代码显示了SonarQube中的一个主要陷阱错误:
删除通用通配符类型的使用.通用通配符类型不应在返回参数中使用
那么我该如何修复此警告呢?
我在这里看到一个类似的问题,但找不到解决方案.
使用Class<? extends Object>没有删除声纳警告.
我们希望有两个实现生产和开发模式的接口:
考虑一个界面:
public interface AccountList {
public List<Account> getAllAccounts(String userID) ;
}
Run Code Online (Sandbox Code Playgroud)
有两个实现:
基础实现
@Service
public AccountListImp1 interface AccountList { ... }
Run Code Online (Sandbox Code Playgroud)
和一些开发实施
@Service
@Profile("Dev")
public AccountListImp2 interface AccountList { ... }
Run Code Online (Sandbox Code Playgroud)
当我尝试使用bean时:
public class TransferToAccount{
@Autowired
private AccountServices accountServices;
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
No qualifying bean of type [AccountList] is defined: expected single matching bean but found 2: coreSabaAccountList,dummyAccountList
Run Code Online (Sandbox Code Playgroud)
在开发过程中,我们设置了spring.profiles.active以dev如下:
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>Dev</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
我假设设置配置文件名称,将使spring分类具有不同配置文件的bean,并根据配置文件名称使用它们.
能告诉我怎样才能解决这个问题?我可以使用@Primary,或者更改applicationContext.xml,但我认为@profile应该可以解决我的问题.
在 Quartz 2.2 版中,我们如何才能找到工作是否完成以及何时完成?!我有job key。
首先,我尝试获取作业触发器并查看触发器状态。
List<? extends Trigger> triggers = sched.getTriggersOfJob(jobKey);
for (Trigger trigger : triggers) {
....
}
Run Code Online (Sandbox Code Playgroud)
但是我发现当触发器成功完成时,quartz 会从数据库中删除作业触发器。
我用谷歌搜索了一个http://forums.terracotta.org/forums/posts/list/6791.page
Quartz 会清理自己所有未使用的数据,这样管理员就不必删除填满数据库的记录(许多用户有数百万个触发器重复触发。保留所有这些数据是不切实际的,而且会影响性能)。
如果您想要触发器触发的历史记录,请实现 TriggerListener 并自己记录信息,就像 LoggingTriggerHistoryPlugin 所做的那样。
Quartz 2.2 可能会添加一个带有新 api 的历史功能来检索数据。
在另一方面,我检讨石英码(http://www.quartz-scheduler.org/api/2.2.1/org/quartz/Trigger.CompletedExecutionInstruction.html),并发现触发状态可以设置为NOOP,RE_EXECUTE_JOB,SET_TRIGGER_COMPLETE, DELETE_TRIGGER, SET_ALL_JOB_TRIGGERS_COMPLETE, SET_TRIGGER_ERROR,SET_ALL_JOB_TRIGGERS_ERROR
我认为这个枚举用于失败的触发器,但我想知道是否有办法让触发器持久化。
考虑下面的选择
<select id="phone_line" name="phone_line">
<option value=""></option>
<option value="BB-11">Line 1</option>
<option value="AA-22">Line 2</option>
<option value="AA-33">Line 3</option>
<option value="BB-44">Line 4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果我想过滤选项并删除带有值的行,BB-44我可以这样做:
$('#phone_line option').filter(' option[value="BB-44"] ').remove();
Run Code Online (Sandbox Code Playgroud)
如果我想删除它自己的价值线开始用AA?我可以用以下各项做到:
$("#phone_line > option").each(function () {
if (this.value.substring(0, 2) === 'AA') {
$("#phone_line option[value='" + this.value +"']").remove();
}
});
Run Code Online (Sandbox Code Playgroud)
但我可以使用过滤器(一行吗?!).代码:
为了获得HttpServletRequest我在下面使用的代码中的拦截器:
HttpServletRequest request =(HttpServletRequest) ActionContext.getContext().get(HTTP_REQUEST);
Run Code Online (Sandbox Code Playgroud)
我试图ServletRequestAware在拦截器中实现,但它没有奏效.
有没有更好的方法进入HttpServletRequest拦截器?!
我们使用它s:select来显示资源包中的字符串列表.
在行动中:
//bank codes will be something [12,13,14]
List<String> bankCodesList; //with setter and getter
String selectedBankCode;
Run Code Online (Sandbox Code Playgroud)
在消息资源中,每个银行都有一个名称:
bank.code.12= ALFM Bank
bank.code.13= RIHN Bank
....
Run Code Online (Sandbox Code Playgroud)
在JSP中:
<s:select name = "selectedBankCode"
list = "bankCodesList"
listKey = "toString()"
listValue = "%{getText('bank.code.' + toString())}" />
Run Code Online (Sandbox Code Playgroud)
银行列表是List<String>我们用来toString()获取密钥并用于toString()从资源包中获取价值的.
我除了发现s:select有一个status属性相同,s:iterator但我找不到任何!
所以你认为还有更好的方法吗?!
下面的代码得到一个byte[]结果,适用于PDF和XLSX.对于HTML,引发了异常.
JasperPrint jasperPrint = JasperFillManager.fillReport(report,
params, dataSource != null ? new JRMapArrayDataSource(
dataSource) : new JREmptyDataSource());
ByteArrayOutputStream out = new ByteArrayOutputStream();
@SuppressWarnings("rawtypes")
Exporter exporter;
switch (format) {
case PDF:
exporter = new JRPdfExporter();
break;
case XLSX:
exporter = new JRXlsxExporter();
break;
case HTML:
exporter = new HtmlExporter();
break;
default:
throw new ReportException("Unknown export format");
}
exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(out));
exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
exporter.exportReport();
return out.toByteArray();
Run Code Online (Sandbox Code Playgroud)
HTML的例外情况就是 exporter.exportReport();这样
java.lang.ClassCastException:
net.sf.jasperreports.export.SimpleOutputStreamExporterOutput cannot be cast to net.sf.jasperreports.export.HtmlExporterOutput
at net.sf.jasperreports.engine.export.HtmlExporter.exportReport(HtmlExporter.java:232)
Run Code Online (Sandbox Code Playgroud)
v6.0和v5.6的错误相同.这曾经在v5.0中工作(某些类在v5.6中已弃用).
如何以各种格式导出报告,包括HTML?
考虑一个简单的居中对齐表,带有一些复选框
单击按钮将自动选中一些复选框,并在复选框旁边添加一些动态文本.现在复选框不再对齐,表格看起来很奇怪.
$('#add').click(function () {
$('#bike').attr('checked','checked').after("<span>Good Selection</span>");
$('#airplean').attr('checked','checked').after("<span>Woow</span>");
});
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/m9884jy7/1/

在普通的HTML中,可以通过添加额外的列来修复它....
但请考虑我已经简化了样本,我无法添加列:(
我正在寻找css解决方案,或者可能是一个可以使用的提示.另外,由于我有复选框的ID,我可以添加任何可以帮助纠正对齐的html DOM.
我们使用了一个纯css基础进度条.
主要的css部分如下.
.container {
width: 600px;
margin: 20px auto;
}
.progressbar {
margin: 0;
padding: 0;
counter-reset: step;
}
.progressbar li {
list-style-type: none;
width: 25%;
float: left;
font-size: 12px;
position: relative;
text-align: center;
text-transform: uppercase;
color: #7d7d7d;
}
.progressbar li:before {
width: 30px;
height: 30px;
content: counter(step);
counter-increment: step;
line-height: 30px;
border: 2px solid #7d7d7d;
display: block;
text-align: center;
margin: 0 auto 10px auto;
border-radius: 50%;
background-color: white;
}
.progressbar li:after {
width: 100%;
height: 2px;
content: '';
position: …Run Code Online (Sandbox Code Playgroud)