Wicket:如何以编程方式呈现页面并将结果作为字符串?

我正在将应用程序转换为在其所有页面上使用i18n / l10n。 我对Wicket对此的支持感到非常满意,到目前为止一切顺利。 我遇到的一个棘手的部分是: 我们有一个文本文件,用作HTML模板,以便在用户在网站上执行某项操作时发送电子邮件。 当用户点击特定链接时,我手动读取此模板,执行一些文本替换,例如”Dear $USERNAME” ,并将结果作为HTML电子邮件发送给用户。 为了支持我们目标的10种左右的语言,我要么必须维护这个模板文件的10个副本,要么想办法使用Wicket的内置i18n支持渲染这个“页面”,抓住结果作为字符串,然后发送它。 因此我的问题是 :如何以编程方式“呈现”Wicket页面并将结果作为字符串? 如果可能的话,我宁愿避免像使用HttpClient这样的黑客攻击; HttpClient不会有用户的Locale,也不会自动以用户等身份登录,所以这对我来说似乎不是一个好的解决方案。

web.xml中的标记不会捕获java.lang.Throwableexception

我有一个用servlet和JSP开发的web应用程序。 如果我插入错误的参数,我将我的应用程序配置为抛出IllegalArgumentException 。 然后我以这种方式配置了我的web.xml文件: 404 /error.jsp java.lang.Throwable /error.jsp 当我出现404 error ,然后它工作并调用error.jsp ,但是当我上升java.lang.IllegalArgumentException ,它不起作用,我有一个blank page而不是error.jsp 。 为什么? 服务器是Glassfish,日志显示IllegalArgumentException上升了。

如何使用ImageIcon制作可拖动的组件

我正在尝试为国际象棋游戏构建用户界面。 我使用了填充JLabel的GridBagLayout ,棋子是JLabel的 ImageIcons 。 现在我想通过在板上拖动它来移动它们。 有没有办法用ImageIcons做到这一点? 或者有更好的方法来解决问题吗? 编辑:这是一个示例代码。 你可以注意到你可以移动iconImage,但它不会用鼠标“拖动”。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.HashMap; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; public class MainDebug extends JFrame implements MouseListener { private JPanel BoardPanel; […]

Java Swing:在鼠标hover时更改背景颜色

我已经实现了一个简单的鼠标监听器,只要鼠标进入组件(JPanel),背景颜色就会改变,只要鼠标离开,它就会恢复。 这有一些问题: 有时鼠标移动得太快,以至于不会触发mouseExit事件 如果我的组件有子节点,当鼠标移动到子节点时它会触发mouseExit 如果我将鼠标快速移动到子节点,则不会触发mouseEnter事件 我猜这对于Swing老兵来说很容易。 对于如何解决这个问题,有任何的建议吗? 我不想使用计时器等……

java通用和外卡

在javagenerics中我理解了外卡,超级和扩展的含义是什么,但是没有得到为什么不允许我添加任何内容,为什么允许我在层次结构中添加SomeType,但不在层次结构中的上面? class Animal {} class Cat extends Animal{} 下面的方法可以采取动物或动物的子列表即猫,但没有别的和我不允许添加任何东西,如果尝试添加,编译器阻止我为什么? void addAminal(List aList){ aList.add(new Cat()); // compiler error aList.add(new Animal()); // compiler error } 现在下面的方法可以采用Animal的任何列表或者任何超类型的Animal,但是没有子类型的Animal,我可以在Animal或者层次结构中添加更低的对象,所以当我尝试添加Object时,编译器会抱怨为什么? void addAnimal(List aList){ aList.add(new Animal()); // no error aList.add(new Cat()); // no error aList.add(new Object()); // compiler error why ? } 谢谢Arya

在if语句之外使用变量

我不完全确定这是否可以在Java中使用,但是我如何使用在声明它的if语句之外的if语句中声明的字符串? 我真的很感激,如果有人能帮助我解决这个问题,我已经尝试了几个小时,似乎无法得到任何工作。

java swing根据jLabel调整ImageIcon大小

我是一个新的程序员,我有一些问题,我已经浏览了一个图片到我的GUI(并在文本框中也设置了路径),它显示在一个标签上,但标签尺寸设置只有100,100而图片很多更大,所以当我打开/显示它到标签它被裁剪,无论如何,它是否自动resize到标签大小? 下面是我在浏览按钮和打开对话框上的逻辑代码,请任何人告诉我我哪里错了.. public class ImagePath extends javax.swing.JFrame { private JPanel contentPane; JLabel jLabel1; String s2; File targetFile; BufferedImage targetImg; public ImagePath() { initComponents(); } private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser jFileChooser1 = new JFileChooser(); int state = jFileChooser1.showOpenDialog(new JFrame()); jTextField1.setText(“”); if (state == JFileChooser.APPROVE_OPTION) { JOptionPane.showMessageDialog(new JFrame(), “hii”); File file = jFileChooser1.getSelectedFile(); s2 = file.toString(); […]

垃圾收集和字符串

我对弦乐有一些疑问 他们住在堆或字符串池吗? 如果在Heap上,那么它们将被垃圾收集,如果它们无法被任何活动线程访问。 如果在String池上,那么它们将如何删除或删除,因为我们知道垃圾收集只发生在堆上。

Hibernate 4中的SessionFactory.openSession(Connection)

我正在使用SessionFactory.openSession(Connection)来抽取现有的JDBC连接。 现在在4.0中,此方法不可用。 我应该使用哪种方法?

Java:当B实现A时,从List 转换为List

我定义了以下类和接口: public interface A { } public class B implements A { } 我有一个B对象List ,我需要将其转换为A对象List : List listB = new List(); listB.add(new B()); // dummy data listB.add(new B()); // dummy data listB.add(new B()); // dummy data List listA = (List) listB; 上面的最后一行导致编译错误“无法从列表转换为列表”。 我尝试用以下方法解决这个问题: List listA = Arrays.asList((A[]) listB.toArray()); 不幸的是,抛出ClassCastException 。 有谁知道我怎么解决这个问题?