Tag: model view controller

使用java中的MVC设置KeyListeners

我试图用Java编写自己的计算器。 我认为最好为我的代码实现MVC(模型视图控制器)设计。 我有一些基础工作,计算器确实工作,问题是我无法弄清楚我在哪里听错键的实现。 目前,我可以使用动作侦听器单击按钮并使用数值更新字段,并使用按钮进行加,减,乘,除以及清除。 所以我现在真正想到的唯一一件事是试图允许用户(我自己)选择使用键盘上的数字键盘将值附加到字段中,无论如何这里是我的代码。 这个观点 package Calculator; import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionListener; import java.awt.event.KeyListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; public class CalcFrame extends JFrame{ private Dimension d = new Dimension(300,300); JPanel panel1 = new JPanel(); JPanel panel2 = new JPanel(); JButton equals = new JButton(“=”); JButton addBtn = […]

Spring MVC是否支持无扩展名的URL?

Spring MVC是否支持像asp.net mvc这样的无扩展URL? 我很感激任何人都有的信息。 我刚刚开始使用spring MVC。 或者可能与Spring MVC无关,但与tomcat无关?

为什么简单的select查询返回List 但是在jpa中连接查询返回List

我正在使用jpa的play框架。 我有一个带有2个函数的模型Jobads来查找all()findByLocation() 我的模特 public class Jobads { @Id @Column(name = “id”, nullable = false) @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String title; @ManyToOne private Jobindistry industry; @ManyToMany @JoinTable( name = “jobads_city”, joinColumns = {@JoinColumn(name = “jobads_id”, referencedColumnName = “id”)}, inverseJoinColumns = {@JoinColumn(name = “city_id”, referencedColumnName = “id”)}) private List city; } 找到所有() public static […]

我从一个简单的spring mvc json服务输出之前得到一个额外的空{} json对象和一个&&

好的,我有一个基于spring mvc的json web服务。 这是一个测试应用程序,我在构建基于spring mvc的restful json服务时从未见过这样的问题。 我的测试服务的输出总是返回并清空json对象,然后是&&,后跟我想要返回的数据。 所以结果如下: {} && {“status”:200,“serverTime”:“2013年1月6日美国东部时间下午7:35:45”} 我的控制器方法处理这个非常简单的GET请求的代码是: @RequestMapping(value = “/test.json”, method = RequestMethod.GET) public ModelMap test(ModelMap m, HttpServletRequest request, Locale locale) { Date date = new Date(); DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale); String formattedDate = dateFormat.format(date); m.addAttribute(“serverTime”, formattedDate); m.addAttribute(“status”, 200); return m; } 我不能为我的生活弄清楚那个额外的空{} json对象来自哪里。 我的spring配置看起来像这样: 任何帮助将不胜感激。 我已经在星期天吹了6个小时试图弄清楚为什么会发生这种情况。

如何在MVC-gui中使用JUNG2?

我正在玩JUNG2并希望实现一个允许我显示和更改图表的小GUI。 遵循JUNG库中的示例工作正常,但他们没有单独的模型,视图和控制器。 所以我开始用干净的分离来构建GUI。 假设我的第一个版本的GUI,只是显示一个初始图形。 视图是模型的观察者,只要图形发生变化(在图形的初始化步骤中发生一次),就会收到通知。 但是,图形不会显示在屏幕的中央(就像在非MVC示例中那样),但我可以在左上角看到它的一小部分。 现在,这引出了一个普遍的问题:如何告诉jung-visualization组件,模型发生了变化? 以后:我如何使用即用型组件,如MVC架构中的Jung-Mouse? JUNG似乎混合了模型,视图和控制器,我不确定,如何以及在何处正确使用它们。 编辑:荣格教程显示如何使用鼠标管理更改,但它没有显示,如何根据模型中的更改更改视图(通过其他选项,例如按钮“添加节点”或其他) 这是我到目前为止的第一次尝试: 风景 public class MOCView implements GraphChangeObserver { private final ControllerInterface controller; private final MOCModelInterface model; private Layout layout; private BasicVisualizationServer visualization; private JFrame frame; public MOCView(final ControllerInterface controller, final MOCModelInterface model) { this.controller = controller; this.model = model; model.registerObserver(this); } public void createView() { […]

在JSF中,防止表单篡改的最佳方法是什么?

我们正在使用JSF 1.x打开服务器端状态保存。 我们遇到一个问题,即作为web-bot实施的恶意用户可以提交页面,而不提交预期在表单中的所有字段。 这导致一些未被调用的validation器应被调用,等等。 我们希望阻止用户在表单中添加/删除字段并提交表单(如果他们想要提交表单,那么所有预期字段都在那里)。 在过去,我使用页面上字段ID的MD5哈希加上在页面上保存为隐藏字段的未知短语和会话filter,根据提交的字段ID生成预期哈希并将其与隐藏字段中的值。 有没有什么我可以用JSF开箱即用,以防止用户操纵表单? 或者使用第三方库?

如何有效地使用绑定框架

我一直在使用绑定框架一段时间了,我想知道你是如何处理这种情况的。 你有一份报纸有一些属性,如 (字符串)标题 (布尔)发表 (日期)发布日期 在您的视图中,您有一份报纸列表,而不是可以同时编辑。 这意味着您可以在单个请求中更改所有新闻文件的标题或其所有“已发布”状态。 问题是,当我们使用绑定框架时,​​您将编辑报纸的数据,就像您在数据库中编辑数据一样…将每个值绑定到一个字段,彼此独立。 但是……我想做的是,当我发布报纸时,发布日期更新到当前日期。 我可以肯定在表单上放置一个publishmentDate字段,甚至是设置为当前日期的隐藏字段……但这既不干净也不安全。 我认为最好有一个动作publish()将标志设置为true,但也更新publishmentDate(如果需要,还可以更新其他逻辑……) 我只是想知道你是如何处理的? 我已经看到并考虑过不同的方法: 1)有时我们将新参数绑定到现有的持久ORM实体。 这意味着我们在绑定之前检索实体,以便将值绑定到现有的“已填充”实体对象。 这有时被称为“保护实体”因此,知道是否必须启动“发布操作”的唯一方法是将旧字段与新字段进行比较,以便了解它是否已编辑以及在哪个方向上进行(false – > true = publish)可以使用ORM监听器(如@PostLoad,Hibernate Interceptor / EventListener或其他任何东西),以便保留这些“绑定前”值。 这很好用,但在车辆上启动发布操作非常“奇怪”,而绑定已经将已发布的标志设置为true。 2)可以做几乎相同的事情,但是使用另一个标志……例如,表示用户希望发布报纸的标志。 因此,您无需与之前的值进行比较,只需检查用户是否希望发布报纸然后启动操作…(此次启动操作时,实际发布的标志仍为= false。 ..) 问题是,当您使用绑定框架时,​​您希望在已查看已发布的报纸的视图上检查已发布的复选框。 因此,如果绑定属性现在已发布_wish,则必须将其设置为值,否则所有复选框将始终未选中…这意味着在显示视图之前,您将执行类似published_wish = published的操作。希望标志不会被持久化,但我看到一些情况下“愿望”必须坚持,因此不需要做发表_wish =已发表 3)使用空的非持久化实体进行绑定,然后将此非持久化实体的值重新复制到真实持久化对象。 因此,当您将值从一个对象重新复制到另一个对象时,您可以启动所需的任何操作,自定义所有内容……但是重新复制所有这些参数有点重… 可能还有其他方法…… 你会怎么做? 所以它不仅运作良好,但它也优雅,可维护 ……我在这里看不到任何完美的解决方案

究竟什么是@RequestParam以及它是如何填充的?

Spring文档说: 使用@RequestParam批注将请求参数绑定到控制器中的方法参数。 来源: http : //static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestparam AFAIK,如果请求方法是GET,则请求参数是从查询字符串中检索的变量。 它们也是请求方法POST时从表单值检索的变量。 我已经使用一个简单的JSPvalidation了这一点,该JSP通过方法request.getParameter(“key”)显示请求参数。 但在我看来,@ RequestParam仅适用于GET方法请求。 它只能从查询字符串中获取值。 这是文档中的错误吗? 有人可以引用一些文档来描述@RequestParam用于什么,它不能用于什么,以及它是如何填充的? 我可以使用@RequestParam for POST方法来获取表单值吗? 如果我不能使用@RequestParam,我还能使用什么? 我试图避免调用request.getParameter(“key”)。

Spring 3 MVC请求validation

我有一个Spring 3.2应用程序,我创建了一个使用基于令牌的安全性的REST API。 每个REST JSON有效内容都包含一个“令牌”字段,用于执行安全validation。 控制器方法如下: @RequestMapping(value = “/something”, method = RequestMethod.POST) public @ResponseBody Map something(@RequestBody SomethingParams params) { } SomethingParams有一个token字段,并由Spring从请求的JSON主体自动填充。 有没有办法在所有控制器方法上自动调用validation器来检查诸如SomethingParams之类的参数是否具有有效令牌? 以前我使用过拦截器,并且令牌包含在查询字符串中,但是现在,因为它位于请求的主体中,所以我必须解析拦截器中的JSON才能检查它。 由于Spring已经解析了JSON以绑定参数,我很好奇是否有更聪明的方法。 理想情况下只需要一些全局或控制器级别的设置(不是每种方法)。

ASP.NET Master Pages等效于Java

什么是Java Web开发世界中的Master Pages等价物? 我听说过Tiles,Tapestry和Velocity,但对它们一无所知。 它们和母版页一样易于使用吗? 我想要像设置一个模板一样简单,后续页面从模板派生并覆盖内容区域,类似于母版页。 任何例子都会很棒!!