我想通过将它存储为servlet上下文属性来共享我的servlet和我的webservice(JAX-WS)之间的对象.但是如何从Web服务中检索servlet上下文?
我正在尝试创建一个由标题组成的网页,并在标题下面列出项目列表.我希望项目列表可以垂直滚动.我也希望网页占据整个窗口但不会更大.目前我的问题是项目列表不可滚动,而是远远低于窗口底部,这导致窗口可滚动.CSS属性应该在html,正文,标题和列表项上应该是什么?
doctype html
html
head
link(href="css/style.css" rel="stylesheet")
body
div#wrapper
h1 Interactive Contact Directory
div(class="tools")
|Search:
br
input(type="text" id="searchBox")
select(name="searchBy" id="searchBy")
option(value='firstname') First Name
option(value='lastname') Last Name
option(value='email') Email
br
br
div(id="listingHolder")
ul(id="listing")
div(id="listingView")
Run Code Online (Sandbox Code Playgroud)
贝娄是我现在的样式表
html{
height: 100%;
}
body {
background:#121212;
margin:0px;
padding:0px;
font-family:"Open Sans", sans-serif;
height: 100%;
}
#wrapper {
max-height: 100%;
}
h1 {
margin:0px;
color:#fff;
padding:20px;
text-align:center;
font-weight:100;
}
.tools {
text-align:center;
color:#fff;
}
#searchBox {
padding:7px; …
Run Code Online (Sandbox Code Playgroud) 我正在代码审查我的一个同事刚刚做的更改,并且他添加了一堆调用Date.toMonth()
,Date.toYear()
以及其他已弃用的Date
方法.所有这些方法都在JDK 1.1中被弃用了,但他坚持认为可以使用它们因为它们还没有消失(我们使用的是JDK 1.5)而且我说它们现在可能会在任何一天消失而且他应该使用它们Calendar
方法.
Sun/Oracle实际上是在说这些事情何时消失,还是@deprecated
仅仅意味着你失去了风格点?
我想设置由<fmt:formatNumber>
朋友使用的JSTL语言环境.我知道这是可能的<fmt:setLocale>
,但我需要动态地(取决于从我的数据库中检索的用户数据)并且更喜欢Java代码 - 一个过滤器类,确切地说.
我认为将session属性设置javax.servlet.jsp.jstl.fmt.locale
为我想要的Locale
实例就可以了,但是它被忽略了:JSTL标签继续使用浏览器区域设置.
我确认没有相同名称的页面上下文或请求属性.
那么我做错了什么?或者我真的需要从JSP中做到这一点吗?
阅读JSTL代码,我发现了对a的引用,LocalizationContext
并认为我需要设置一个.然而,我无法确切地弄清楚它如何适合图片或如何设置图片.
即使我只改变了我的一个课程,Maven总是重新编译所有课程.我使用这个插件配置:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<staleMillis>1</slateMillis>
<useIncrementalCompilation>true</useIncrementalCompilation>
</configuration>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
出现这种情况有mvn compile
,mvn package
和mvn install
.
当然,如果您有10-15个文件,这不是问题.但是,我有超过一千个源文件,需要花费很多时间.
Maven编译器插件是否有一些隐藏设置来重新编译修改后的文件?有没有解决方法?
我需要阻止.NET WebBrowser控件显示"您要打开还是保存此文件?" 和"另存为"对话框.相反,我想显示一个消息框,告诉用户出于安全原因禁用了文件下载.
我从FileDownload
事件开始WebBrowser
,但不允许取消.然后,我使用CodeProject:Extended .NET 2.0 WebBrowser Control中的方法,使用该接口基于原始COM调用实现我自己的事件DWebBrowserEvents2
.当我根据有关FileDownload签名的错误的MS知识库条目修复代码时,调用了事件处理程序,我能够取消下载.
但这并不适用于所有下载:下载指向URL的URL,包括.exe
引发事件,可以在对话框出现之前取消 - 但对于其他人(如.do
),事件处理程序在用户单击之前不会被调用Open
,Save
或者Cancel
在对话.
一个可能的解决方案可能是拦截WH_CALLWNDPROCRET
消息并在向用户显示之前"回答"对话框,但这听起来很费劲,我也更喜欢更清洁的解决方案......
有谁知道如何可靠地阻止所有下载?
我想显示一个文件树,类似于java2s.com'创建一个懒惰的文件树',但包括实际的系统图标 - 特别是对于文件夹.SWT似乎没有提供这个(程序API不支持文件夹),所以我想出了以下内容:
public Image getImage(File file)
{
ImageIcon systemIcon = (ImageIcon) FileSystemView.getFileSystemView().getSystemIcon(file);
java.awt.Image image = systemIcon.getImage();
int width = image.getWidth(null);
int height = image.getHeight(null);
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = bufferedImage.createGraphics();
g2d.drawImage(image, 0, 0, null);
g2d.dispose();
int[] data = ((DataBufferInt) bufferedImage.getData().getDataBuffer()).getData();
ImageData imageData = new ImageData(width, height, 24, new PaletteData(0xFF0000, 0x00FF00, 0x0000FF));
imageData.setPixels(0, 0, data.length, data, 0);
Image swtImage = new Image(this.display, imageData);
return swtImage;
}
Run Code Online (Sandbox Code Playgroud)
但是,应该透明的区域以黑色显示.我如何使这个工作,或者我应该采取另一种方法?
更新:
我认为原因是它PaletteData
根本不是透明的.
现在,我填补BufferedImage …
当开发人员与非通用API交互时,他们通常会遇到"未经检查"的警告.请考虑以下示例:
import java.util.AbstractList;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class IterableNodeList<T extends Node> extends AbstractList<T>
{
private NodeList list;
public IterableNodeList(NodeList list)
{
this.list = list;
}
public T get(int index)
{
return (T)this.list.item(index);
}
public int size()
{
return this.list.getLength();
}
}
Run Code Online (Sandbox Code Playgroud)
当然,人们可以投入努力以这样的方式编写它,即没有警告:T
在类和构造函数参数上使用类型参数Class<T>
,匹配成员变量和cast()
调用.
或者,可以考虑简单地编辑IDE配置和构建脚本(例如Maven POM)以完全禁用此编译器警告.现在,如果我们这样做,代码可以保持原样,但我确信做必须有缺点.但是,我想不出任何合理,现实的例子
@SuppressWarnings
这里,无论如何没有其他选择",以及在哪里你能想到这样的例子或者说出为什么在全球范围内禁用这些"未经检查"的警告是个坏主意的另一个原因吗?或者这实际上是个好主意?
之前的例子实际上没有引发警告.现在有些答案不再有意义了.抱歉给你带来不便.
我切换到我使用的插件的SNAPSHOT版本,并在POM中声明相应的快照存储库,如下所示:
<project>
<!-- ... -->
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-maven-plugin</artifactId>
<version>2.3.0-SNAPSHOT</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<repository>
<id>apache.snapshots</id>
<name>Apache Snapshot Repository</name>
<url>http://repository.apache.org/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
</project>
Run Code Online (Sandbox Code Playgroud)
现在,Maven一直在抱怨无法从我们的公司存储库下载插件(它不会反映互联网上的任何内容) - 它只是忽略了POM中定义的存储库.
要禁用父POM继承的插件执行,可以按如下方式覆盖它:
<execution>
<id>TheNameOfTheRelevantExecution</id>
<phase/>
</execution>
Run Code Online (Sandbox Code Playgroud)
现在如果父POM没有定义显式执行ID怎么办?这个答案说"如果你没有指定id来执行,Maven会隐式地执行它(以一种你不直观的方式)." 那么Maven如何生成执行ID?用于链接相关Maven源代码的加分点.
注意:我不是在寻找禁用插件执行的替代方法.