我有一个在Tomcat上运行的Java Web应用程序.我想加载静态图像,这些图像将在Web UI和应用程序生成的PDF文件中显示.此外,还将通过Web UI上传添加和保存新图像.
通过将静态数据存储在Web容器中但从Web容器外部存储和加载它们来解决这个问题并不是一个问题.
我不想在此时使用像Apache这样的单独的Web服务器来提供静态数据.我也不喜欢将图像以二进制形式存储在数据库中.
我已经看到一些建议,比如将图像目录作为指向Web容器外部目录的符号链接,但这种方法是否适用于Windows和*nix环境?
有人建议编写一个过滤器或servlet来处理图像服务,但这些建议非常模糊和高级别,没有指向如何实现这一目标的更详细信息.
我有以下情况:
Set<Element> set = getSetFromSomewhere();
if (set.size() == 1) {
// return the only element
} else {
throw new Exception("Something is not right..");
}
Run Code Online (Sandbox Code Playgroud)
假设我无法更改返回类型getSetFromSomewhere(),是否有更好或更正确的方法来返回集合中的唯一元素
.get(0)我最近一直在学习React,我遇到了一个问题,试图建模并呈现以下结构的HTML表(请注意使用标题的colspan属性将列拆分为两个).
+---------------------+---------------------+-----+-------------------+
| Col 1 Header | Col 2 Header | ... | Col N header |
+----------+----------+----------+----------+-----+---------+---------+
| Data 1A | Data 1B | Data 2A | Data 2B | ... | Data NA | Data NB |
+----------+----------+----------+----------+-----+---------+---------+
| Data 1A | Data 1B | Data 2A | Data 2B | ... | Data NA | Data NB |
+----------+----------+----------+----------+-----+---------+---------+
Run Code Online (Sandbox Code Playgroud)
我已经像这样建模了表格:
主要组件Table,呈现:
<table>
<thead>
<tr>
{headers} <!-- <Header/> components -->
</tr>
</thead>
<tbody>
{rows} <!-- <Row/> …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以SQLQuery#executeUpdate()在Hibernate(3.2)中使用一次调用执行几个以分号分隔的SQL更新查询.
我有包含多个更新的字符串,如下所示:
String statements = "UPDATE Foo SET bar=1*30.00 WHERE baz=1;
UPDATE Foo SET bar=2*45.50 WHERE baz=2;...";
Run Code Online (Sandbox Code Playgroud)
我正在努力做到
Query query = session.createSQLQuery(statements);
query.executeUpdate();
Run Code Online (Sandbox Code Playgroud)
但是不断收到以下错误
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
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
'UPDATE Foo SET bar=Y WHERE ' at line 3
Run Code Online (Sandbox Code Playgroud)
如果我执行statements手工的内容我没有错误,所以我假设多个分号分隔的查询在Hibernate或JDBC的某处造成麻烦.
分割statements字符串并createSQLQuery(statement).executeUpdate()为每一行单独执行是否更好?
我正在研究客户端 - 服务器Android应用程序,并试图找出如何明确地识别服务器的不同电话/用户.我的第一次尝试是使用SIM卡上的电话号码.虽然我现在考虑过这个问题,但是当你改变运营商时,你的电话号码有多少变化?我想这取决于国家/地区等.
无论如何,我一直想弄清楚,因为我没有实际的Android手机,如何更改模拟器手机的手机号码来模拟不同的用户.是否有可能或者我应该考虑其他识别方法?
首先是基本事实:Java webapp,Spring,Hibernate,MySQL.
情况是我有一个复杂的对象模型,例如汽车.它由许多物体(发动机,轮胎......)组成,它们之间具有多对一和一对多的关系.
现在有很多车,不时有人检查汽车并创建检查报告.报告指的是汽车的许多部件,显示其属性等.
到目前为止,系统还没有支持在汽车进入系统后更新汽车及其零件属性的能力.这意味着如果底盘颜色或轮胎数量发生变化,旧报告将反映出这种变化,这不是我们想要的.
那么,现在已经请求了这个功能.汽车及其零件需要可修改,并且必须创建版本历史记录.旧报告需要参考旧版本的零件及其值.
我一直在关注" 慢慢改变尺寸 ",似乎汽车及其零件的版本化可以通过Type 6方法完成.
我遇到麻烦(可能是由于我有限的Hibernate经验)的事情(扭曲)是这样的:
如何使用Hibernate组合我的Report实例,以便它们引用汽车每个部分的正确版本?报告有一个日期,汽车零件的每个版本都有有效的日期范围,所以我想我可以用一些复杂的HQL/SQL来做.但是有没有更简单,更自动的方式来使用Hibernate?
是否有一些明显的方法可以将分隔符添加到Wicket DropDownChoice中的选项列表中?在我的情况下,我用我的数据源中的两种类型的域对象填充选择.我想我可以去选择列表中手动添加某种虚拟域对象,但感觉非常难看.
例:
+---------+-+
| Apple |?|
| Orange +-+
| ------- |
| Carrot |
| Cucumber|
+---------+
Run Code Online (Sandbox Code Playgroud)
当前代码(没有任何分隔符)看起来像:
EntityModel model = getModel();
List<? extends Produce> foods = foodService.getAllProduce();
// getAllProduce() returns first all fruits, then all vegetables
add(new DropDownChoice<Produce>(
"produceSelect", new PropertyModel<Produce>(model, "favProduce"), foods)
);
Run Code Online (Sandbox Code Playgroud) 每当用户在Android Contacts应用程序中添加新联系人时,我都想执行某项操作.它将包括使用新联系人的信息.
是否有捷径可寻?是否有一些事件可以被监听,或者我是否必须扩展联系人应用程序本身?或者,如果不可行,我应该考虑其他方法.
我有这种情况,我想从多个源对象中提取多个值到一个集合.我试图通过Guava的转换实现这一目标,但遇到了我收回一系列集合的问题,我必须手动"扁平化".有没有一种很好的方法可以直接在平面集合中获得结果?
private static final Function<Target, Collection<Integer>> EXTRACT_FUNCTION = new Function<SourceObject, Collection<Integer>>() {
@Override
public Collection<Integer> apply(SourceObject o) {
// extract and return a collection of integers from o
return Lists.newArrayList(..);
}
};
Collection<SourceObject> sourceObjects = ...
Collection<Collection<Integer>>> nestedResults = transform(sourceObjects, EXTRACT_FUNCTION);
// Now I have to manually flatten the results by looping and doing addAll over the nestedResults..
// Can this be avoided?
Collection<Integer> results = flattenNestedResults(nestedResults);
Run Code Online (Sandbox Code Playgroud) 有没有办法锁定某些单元格不被用户编辑?我尝试过以下方法:
WritableCellFormat cf = new WritableCellFormat();
cf.setLocked(true);
sheet.addCell(new Number(col, row, value, cf));
Run Code Online (Sandbox Code Playgroud)
但是,这似乎对生成的电子表格没有任何影响,即在Excel中打开文件时仍可以更改单元格内容.