我一直在研究JSP项目.它使用Struts 1框架.项目很旧,我有很多页面,所以我决定添加一个新页面.我复制了一个包含所有配置,模型动作的现有页面,所以一切都应该没问题.但事实并非如此!
我想先创建一个简单的JSP文件.没有<html:form>
,我看到了我的"Hello World".然后我将我的文件修改为:
<% request.setCharacterEncoding("UTF8");%>
<%@page contentType="text/html;charset=UTF-8"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-nested" prefix="nested"%>
<%@ taglib prefix="fa" uri="/WEB-INF/tlds/finearts"%>
<fa:checkLogon/>
<fa:Header/>
<fa:Navigation navigationId="806"/>
<html:form action="/pages/editTexts.do" method="post" onsubmit="return doSubmit(this);" >
</html:form>
<fa:Footer/>
Run Code Online (Sandbox Code Playgroud)
并得到此错误:
org.apache.jasper.JasperException:在第15行处理JSP页面/pages/editTexts.jsp时发生异常
12: <fa:Header/>
13: <fa:Navigation navigationId="806"/>
14:
15: <html:form action="/pages/editTexts.do" method="post" onsubmit="return doSubmit(this);" >
16: </html:form>
17: <fa:Footer/>
Stacktrace:
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at …
Run Code Online (Sandbox Code Playgroud) 我对 EJB 和 Bean 管理事务都很陌生。在放弃互联网之后,我发现我可以编写一个 EJ 会话 Bean,它以“bean 管理的方式”执行事务,如下所示:
@TransactionManagement(value=TransactionManagementType.BEAN)
@Stateless
public class OperationBean {
@Resource
private UserTransaction userTransaction;
public void operation() {
try{
userTransaction.begin();
Op1();
Op2();
Op3();
userTransaction.commit();
} catch(Exception e){
userTransaction.rollback();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我不明白如果 Op3() 抛出异常会发生什么。Op1() 和 Op2() 如何撤消?
另一个问题是如何将其绑定到 JSF?我需要在 JSF 中编写一个表单,将其数据发送到服务器,OperationBean 根据接收到的数据执行 3 个操作。这些操作确实涉及数据库操作(3个更新),单独来看没有意义。
谢谢!
public class A{
public static void main(String[] args){
static final int MAX_VALUE = 100; //COMPILE TIME ERROR
System.out.println("MAX_VALUE");
}
}
Run Code Online (Sandbox Code Playgroud)
为什么static final int MAX_VALUE=100
;给出编译时错误,它给出的错误是“参数 MAX_VALUE 的非法修饰符;只允许使用 final”
我收到了编译错误:')' expected error
但是正如您在下面的代码中看到的那样,没有任何不平衡的括号.会是什么呢.
这是我在学校任务的代码:
import java.util.*;
import java.io.*;
public class Assignment7b {
public static void main(String[] args)throws FileNotFoundException {
ArrayMath A = new ArrayMath();
Scanner console = new Scanner(System.in);
System.out.print("Enter file name: ");
String fileName = console.next();
Scanner input = new Scanner(new File(fileName));
int[][] matrixA = makeMatrix(input);
int[][] matrixB = makeMatrix(input);
int[][] matrixC = makeMatrix(input);
int[][] matrixD = makeMatrix(input);
int[][] addResult = A.addArrays(matrixA, matrixB);
int[][] subResult = A.subArrays(matrixA, matrixB);
int[][] multResult = A.multArrays(matrixC, matrixD);
System.out.print("Output file name: "); …
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我必须根据配置页面中选择的语言环境用户显示内容.我没有使用浏览器默认语言环境.
使用时s:text
,它始终使用默认资源文件.
在Struts1中,我使用下面的代码在我的过滤器中设置默认语言环境
session.setAttribute("org.apache.struts.action.LOCALE",locale);
Run Code Online (Sandbox Code Playgroud)
如何在Struts2中动态设置用户选择的语言环境?
我是新编码而javac不被认可.我读到我需要改变自己的道路,但我尝试的却没有用.我当前的路径是:'C:\ Program Files\Java\jre7\bin'.怎么了?
我今天参加了考试,其中一个问题如下:
在实现MVC时,从哪个Web应用程序(控制器或视图)的园区我们应该调用在DAO实现中定义的方法?你应该解释一下.
我知道控制器负责将即将发出的http请求重定向到适当的视图,并且视图(JSP文件)应该使用DAO函数来获取信息并显示它.
我的讲师说我错了,控制员会对此作出回应.
当我问为什么时,他说"我应该听讲座".那么,为什么DAO应该从控制器调用而不是从视图中调用?
我最近追踪了一个错误,其中列表的长度为0,但是在位置1进行了访问尝试
System.out.println("key is " + keyValuesPairs.get(0)+ " , value is " + keyValuesPairs.get(1));
Run Code Online (Sandbox Code Playgroud)
这导致了一个IndexOutOfBoundsException
但是因为它没有被捕获,所以异常被静默删除并且没有指示抛出异常.出于这个原因应该IndexOutOfBoundsException
是一个检查异常,因为它可能导致很难找到错误?
更新:不会以静默方式删除该异常.
我有一个图像,其中每个像素为 4 字节,即红色掩码为 0xFF0000,绿色为 0xFF00,蓝色为 0xFF。我读入图像并将其作为函数传递给函数(byte imgBuff,int w,int h) 然后我有
void fun(byte imgBuff,int w,int h)
{
Graphics g;
BufferedImage img;
DataBuffer dBuffer = new DataBufferByte(imgBuff, w * h);
WritableRaster wr = Raster.createPackedRaster(dBuffer,w,h,24,null);
DirectColorModel dcm = new DirectColorModel(24,0xFF0000,0xFF00,0xFF);
img = new BufferedImage(dcm,wr,false,null);
g = getGraphics();
g.drawImage(img,x,y,w,h,null);
}
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时我得到
线程“Thread-23”中的异常 java.lang.IllegalArgumentException:光栅 sun.awt.image.SunWritableRaster@1d82ed7 与 ColorModel DirectColorModel 不兼容:rmask=ff0000 gmask=ff00 bmask=ff amask=0
如何从 bytebuffer viaPackedRaster
到 Buffered Image for 24bit over 4 bytes
我有一个JFrame,当我点击JFrame上的一个按钮时,它会创建一个带有'Finalize'按钮的新JInternalFrame.我想要的是,当我单击Finalize按钮时,JInternalFrame会处理并向创建JInternalFrame的JFrame发送一些值(数据).
我怎样才能做到这一点?任何相关的例子对我都有很大的帮助.