防止IE缓存
我正在使用Struts开发Java EE Web应用程序.问题在于Internet Explorer缓存.如果用户注销,他可以访问某些页面,因为它们是缓存的,并且没有提出请求.如果我刷新刷新,它可以正常工作.另外,如果用户再次登录页面,它将不会重定向他,因为该页面也被缓存. 我想到了两种解决方案: 编写拦截器(Servlet Filter类似)以添加到响应标头无缓存等. 或或put 在每个页面上标记. 我应该做哪一个? 解决方案 宁愿在相关页面的HttpServletResponse上设置以下标题,以便您无需手动复制它: response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. response.setHeader("Pragma", "no-cache"); // HTTP 1.0. response.setDateHea
0 2024-04-04
编程技术问答社区
如何确保BIRT报告浏览器的安全
我需要在打开报告时为Birt报告查看器实现用户的身份验证, 因此,我们应该无法运行报告,并且在打开报告之前也应进行用户身份验证. 解决方案 正如Iswanto San在他的评论中已经提到的那样 - 我将使用弹簧安全. ,但这确实取决于您的技能 - 以及您正在部署观众的方法. If you use Tomcat - you can create a simple form authentication by following avajava.com上的Deron Eriksson的逐步指南. 另一个选择是遵循Birt-Exchange的建议,然后按照与Actuate Birt观众进行安全集成的BIRT-交换指南. 或! 您可以通过遵循我希望这对任何帮助! 其他解决方案 您也可以简单地将NTLM-authentication(LDAP)过滤器添加到Birt的Web.xml(基本Tomcat Config). 更多信息:/dynamicdatam
0 2024-03-31
编程技术问答社区
记录用户行为
客户希望我们"记录"用户在系统上执行的"操作":创建,删除和更新,主要是. 我已经有一个可以记录跟踪的方面,但是在每个方法调用中都可以在相当低的级别记录中起作用. 因此,如果用户单击按钮"打开医疗文件",则日志将读取: ClosePreviousFiles("零病人") createMedicalFile("零零") - >文件#001 Changestatus("#001") - > Open 虽然所需的结果是: 打开医疗文件#001,用于零病人 我正在考虑用日志语句来启动struts2动作,但是我想知道……还有另一种方法吗?我可能会再次使用extackj(或过滤器),然后将逻辑放在一个地方,以便我可以轻松地配置日志,但是我担心一切都会变得更难理解(即"此操作的日志是错误的...我应该在哪里寻找麻烦?"). 解决方案 听起来您的客户需要在系统中对用户操作的审核跟踪. 考虑在每个操作的入口点(从Web请求)开始,以启动审核条目,并在操作上进行枚举
0 2024-03-16
编程技术问答社区
如何使用struts 2注释动态下载一个文件(将变量传入注释)。
我是Struts 2的新手,我询问是否有办法将变量参数传递到支柱2注释中. 这是我已经做过的,但没有运气 public class DownloadFileAction extends ModuleGenericClass{ private InputStream inputStream; private String fileName; @Action(value="/downloadFile",results={ @Result(name="success",type="stream",params = { "contentType", "application/octet-stream", "inputName","inputStream", "bufferSize","1024","conte
0 2024-03-03
编程技术问答社区
就MVC模式而言,Struts 2中使用的Action是什么?
在Struts2中,控制器将请求派遣到操作,该操作将其传递给后端逻辑,可以将其视为非常大的模型,以处理请求,JSP表示视图. 如何在struts2中定义动作?绝对是不是的视图.是控制器还是模型? 解决方案 支撑杆动作是MVC模式的控制器.我认为对价值堆栈和ActionContext的讨论以及行动类中的Getter方法使问题混淆了.通常,这些只是其他对象的容器(通常是建模对象). @andRealigios指出,您可以使用各种获取方法从操作中检索对象,但这更是一个问题,即通过赋予通常分配给模型对象的其他责任来稀释操作凝聚力.是的,当您考虑做什么(或应该做)时,评估对象的责任很重要. 最简单地说,在所有MVC框架中,主要组件的责任如下: 模型对象负责将收集或计算在应用程序域中收集或计算的数据. 视图对象负责向用户或其他收件人(例如服务客户端)显示信息 控制器对象负责协调模型和查看组件之间的数据流. 当您查看特定的MVC框架(例如Struts(或Spr
0 2024-03-03
编程技术问答社区
Struts 2 MVC架构中的困惑
我正在研究 strut并知道Struts 2中的控制器IS FilterDispatcher和Model是Action. ,但以前我知道Action和FilterDispatcher都是控制器,而支柱并不能为模型层提供支持.以上哪一个是错误的? 解决方案 我想说的是,FilterDispatcher是 其他解决方案 实际上是Struts2 Action是控制器委托. struts2在视图层上提供了valueStack,其顶部具有Action,如果要使用 pseudo-model ,则操作应实现ModelDriven接口. 您还应该注意 struts2动作是由struts2容器管理的简单波约斯.这在MVC的角度有些不同,也称为MVC Model2.例如,由 MVC的中心部分, model ,根据其问题域,独立于用户界面. 从这个角度来看,业务模型是与视图模型分开定义的,并且通常由持久层管理. Struts2控制器通过其代表与视图模型一起使用. 视图可以是信息的
0 2024-03-03
编程技术问答社区
如何让用户从Java/Struts的Web应用中下载数据库中的数据到Excel表文件中?
我想生成一个报告,其中包括从数据库中生成的Excel表.我正在使用Apache POI HSSF在模型中创建Excel表文件. 现在如何让用户下载我创建的文件? 解决方案 只需使用servlet即可.将response.getOutputStream()提交给POI HSSF,以将工作簿写入.最重要的位是Content-Disposition响应标头.如果将其设置为attachment,则浏览器将弹出A 另存为对话. response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "attachment; filename=name.xls"); WritableWorkbook workBook = Workbook.createWorkbook(response.getOutputStream()); // ... 然后让下载URL指向
0 2024-02-29
编程技术问答社区
动态文件下载,无需在服务器上保存文件
我正在使用Apache POI库在多个Excel文件上进行一些操作. 我正在尝试下载Excel报告,而无需将其存储在服务器中. 我使用的是需要将文件馈入InputStream的Strut 2,而POI工作簿需要OutputStream将数据写入. 任何帮助都很好 解决方案 由于您已经知道您需要流结果: 我使用的是撑杆2,需要将文件送入InputStream // With Getter private InputStream inputStream; 您已经知道如何使用POI创建Excel: poi工作簿需要OutputStream将数据写入. public String execute(){ // stuff ByteArrayOutputStream baos = new ByteArrayOutputStream(); // fill the OutputStream with the Excel
0 2024-02-29
编程技术问答社区
<html:options> struts标签的 "title "属性
在常规选择框中,您可以使用"选项"字段中的"标题"属性在鼠标上显示完整标题. 在Apache Struts中,您可以使用" html:options"标签制作选择框.我认为此标签不支持"标题"属性.有其他方法可以在鼠标上显示" html:options" Struts标签的选项的完整标题? 谢谢 解决方案 的Struts'TAG ..是或的双重列表. 根本不支持标题,您必须修改它通过手动生成的JavaScript(ddoubleSelect.ftl). 对于默认主题,该文件可在struts2-core-2.1.6.jar中找到模板/simple/. 其他解决方案 HTML或JSP文件中的硬码是不良的代码练习. 如果您在Struts中编写代码1.x尝试将所有消息存储在messageresources_en.properties
0 2024-02-27
编程技术问答社区
随着应用程序的增长,Struts 2验证不能正常工作
在构建复杂的Web应用程序时是否有其他替代验证框架?或任何验证指南.不需要链接,因为它可以在简单的形式上工作,但并不需要具有多个链接的复杂形式. 这是我的行动类 package com.tpc.action; import java.util.ArrayList; import java.util.List; import com.opensymphony.xwork2.ActionSupport; import com.tpc.domain.LeadFacultyModel; import com.tpc.service.LeadFacultyServiceInterface; public class LeadFacultyAction extends ActionSupport { private static final long serialVersionUID = 1L; private LeadFacultyModel leadFac
0 2024-02-26
编程技术问答社区
在Struts 1中使用AngularJS进行Ajax POST
我正在尝试使用Struts Action表格发送AJAX帖子. 我成功地使用jQuery创建了这种调用. ActionForm: public class AjaxForm extends ActionForm { private static final long serialVersionUID = 7403728678369985647L; private String name = null; private FormFile uploadedFile = null; public FormFile getuploadedFile() { return uploadedFile; } public void setFile(FormFile uploadedFile) { this.uploadedFile = uploadedFile; }
4 2024-02-24
编程技术问答社区
如何在Struts 1.x中使用AngularJS
我是AngularJ和客户端的东西的新手,我正在为使用Struts 1.3作为其框架的旧应用程序中添加了一个新页面.我想将AngularJS用于前端. 我知道如何通过将JSON写入前端并返回null来向前返回JSON.但是,我尚不清楚如何在获取后填充控制器内的范围变量.如果我使用控制器并将JSON恢复,我的ActionForm如何适合所有这些?它有用吗?如果我想将新价值发送回我的操作,我可以为同一控制器提供获取和发布吗?而且,我可以有: 之类的变量 $scope.items={} $scope.items.name="" $scope.items.email="" ,如果我不能以某种方式使用表格? 到目前为止,我还没有使用带有支柱的AngularJS找到太多信息. 编辑: 我会尽力回答我得出的结论,但是上面的问题很含糊,因为我真的不知道自己在说什么,而我在工作的公司的职位已经结束,所以我不再可以访问该代码.我要早些时候要问的是,我将如何处理通常用于支撑杆动作的
2 2024-02-23
编程技术问答社区
在安卓模拟器中测试本地主机
我的Web应用程序在LocalHost服务器中运行.在我的模拟器中,URL为 http://http://localhost:8080/myaction 可以从服务器检索信息吗? 解决方案 Localhost是设备自己的回环接口,如果您要访问开发机器,则使用10.0.2.2. 有关它的更多信息在这里
4 2024-01-28
编程技术问答社区
Ajax预设条件失败错误
我正在JSP中创建页面.基本上将我的HTML设计转换为JSP页面.将Apache Tomcat作为服务器. 我的问题是,我正在尝试通过表单上的ajax调用加载结果页面. 任何人都可以解决此错误. 我的代码如下
4 2024-01-22
编程技术问答社区
如何在支柱中显示在服务器目录外的图像
这个问题是我以前的问题将外部文件访问到我们的Web应用程序中,实际上我正在使用Struts Tag 上传文件 但是现在我想从该位置显示上传的图像,但我将src位置为http://localhost:9443/D:/resources/images/img1.jpg,这不是该图像的有效途径. 如何访问我的服务器目录之外的图像. 这就是我以图像的绝对路径发送ajax响应的方式 public ActionForward getAjaxUploadedFiles(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String imagePath = "D:/resources/images/"
2 2024-01-20
编程技术问答社区
从struts获取JSON数据
我可以使用JSONArray.fromObject方法从操作函数中获取一部分数据,并使用Ajax接收JSON对象.但是,同样的解决方案不适用于豆文件,这是非常奇怪的. 错误在下面.我搜索了三个主要错误的解决方案.也许我需要导入java.lang.reflect.InvocationTargetException库,或在软件包中添加一些lib,或者Java,util.data与util.sql.data冲突.我不确定它是否会起作用,即使我提出了上面的所有潜在建议. 错误信息: [ 00000015 SystemErr R net.sf.json.JSONException: java.lang.reflect.InvocationTargetException at net.sf.json.JSONObject.defaultBeanProcessing (JSONObject.java:818) at net.sf.json.JSON
2 2024-01-20
编程技术问答社区
AJAX与表单提交
我们从服务器中获取数据,为此,如果我们使用的是Struts,那么我们可以通过提交 MVC Architecture 的页面来拉动,或者我们可以进行 ajax call 但是惯例是使用表格和渲染响应,但是我们还面临挑战以赋予丰富的用户体验,因此我们妥协了惯例并开始使用过度的Ajax,因此我们应该如何在两个之间保持平衡? 解决方案 我个人认为应将Ajax用于显示更新,并应通过页面重新加载完成表单提交.推理? 提交表格时,您正在告诉申请做某事.用户倾向于想感觉到它已经完成.当页面没有重新加载时,用户经常想知道"那起作用吗?".然后,他们必须检查以确保自己的所作所为是正确的. 另一方面,当您显示图表或某些内容时,用户对"显示2011数据....现在的2012年数据"表示,例如,他们不是在做任何事情(创建新实体,发送电子邮件等).因此,在这种情况下,Ajax可以提供一个不错的用户界面.页面重新加载会在这里很烦人. 总而言之,我认为应该通过页面重新加载完成表单提交(让用户看
4 2024-01-20
编程技术问答社区
如何在依赖JavaScript的Struts表单中处理换行符
我的支柱形式包含一个地图: private Map questionAnswers = new TreeMap(); i具有此变量的普通getter和setter(此处未显示),并且我还具有Struts工作(使用String/object)所需的Getter和setter: public Object getQuestionAnswer(String questionId) { return getQuestionAnswers().get(questionId); } public void setQuestionAnswer(String questionId, Object answerText) { String answer = (answerText == null) ? "" : answerText.toString(); getQuestionAnswers().put(L
14 2024-01-18
编程技术问答社区
无法访问返回对象中的属性
我遇到了一个问题,我似乎无法查询我的JSON回来,但是我可以打印出整个响应,这是我的JSON响应,只有在执行msgBox()提示时,我才能看到这一点: { "Addresses" : "[{ Building=Megatron Skyscraper, BuldingId=1998, AccountId=2000, Number=007, Name=Megatron },{ Building=StarScream Skyscraper, BuldingId=1999, AccountId=2001, Number=008, Name=StarScream }]"} 这是我的代码: function getReadyStateHandler(req) { // Return an
8 2024-01-17
编程技术问答社区
处理数据库中的会话超时(使用服务器端数据源处理)。
我有一个由服务器端AJAX数据源支持的数据表单(在后端使用Struts操作来处理请求,获取数据并发送JSON响应). 服务器端操作需要以身份验证的模式运行,即需要有一个活动会话. 处理DataTables中会话超时错误的最佳方法是什么?目前,它仅显示JSON格式错误,这不是用户的最佳选择.出于明显的原因(兼容性,未来可维护性等),我不想去更改数据量代码.是否有一种整洁的处理错误方式? 我在JSON响应中沿着嵌入错误消息的线路进行思考,但是在前端流中拦截它的最佳地点是? 编辑:我认为进行此类帖子处理的最佳场所是在FNServerdata中,我是正确的吗? 解决方案 我会发射包含某种错误代码的JSON响应.为了处理它,您需要在推测时定义fnserverdata.但是,由于此原因,我会在使用错误回调之前强烈考虑使用情况: 错误只是获取资源并使用状态代码的任何问题.假设会话终止在服务器上.用户请求数据,服务器发送回500错误.错误回调说:"好吧,很烂.让我们重定向
4 2024-01-15
编程技术问答社区