我有关于格式化卢比货币(印度卢比 - 印度卢比)的问题.
通常,类似的值450500
被格式化并显示为450,500
.在印度,相同的值显示为4,50,500
例如,此处的数字表示为:
1
10
100
1,000
10,000
1,00,000
10,00,000
1,00,00,000
10,00,00,000
Run Code Online (Sandbox Code Playgroud)
参考印度编号系统
分隔符在两位数后面,除了最后一组,数千.
我在互联网上搜索过,人们要求使用区域设置en_GB
或模式#,##,##,##,##0.00
我通过使用以下标记在JSTL上尝试了这个:
<fmt:formatNumber value="${product.price}" type="currency"
pattern="#,##,##,##,###.00"/>
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有解决问题.任何有关此事的帮助将不胜感激.
谢谢
关于Stack Overflow的其他问题已经解决了这个问题,但是所提供的答案都没有帮助我解决这个问题.
我正在尝试使用Apache HTTP Commons从applet上传一个介于10 kB到16 MB之间的文件.在我的本地环境中一切正常.
我只在我的生产服务器(Tomcat 6.0,https://www.dailyrazor.com/)上收到以下异常,无论文件大小如何:
org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Read timed out
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:384)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:116)
at com.actura.helper.UploadHelper.processUpload(UploadHelper.java:92)
at com.actura.voice.upload.FileUploadServlet.process(FileUploadServlet.java:85)
at com.actura.voice.upload.FileUploadServlet.doPost(FileUploadServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:662)
Run Code Online (Sandbox Code Playgroud)
这是Commons IO的调试日志:
2012-Sep-18 11:26:28,446 [TP-Processor5] com.actura.voice.upload.MonitoredDiskFileItemFactory
DEBUG inside MonitoredDiskFileItemFactory constructor (listener)
2012-Sep-18 11:26:28,794 [TP-Processor5] com.actura.voice.upload.MonitoredDiskFileItemFactory
DEBUG …
Run Code Online (Sandbox Code Playgroud) 我是一名Java开发人员,我有兴趣在我编写的代码和程序中提高Javadoc注释的质量,使其更容易理解,更容易让其他开发人员实现.
我已经阅读了很多文章,包括来自官方资源的文章,我尝试遵循"Java风格的元素"一书中所述的指导方针 ,但尽管如此,在网上广泛搜索后,我似乎无法找到将我现有的Javadoc与模型示例进行比较并维护Java API文档的最佳实践的实用方法.
如何检查当前打印的页面是否实际上是最后打印的页面?
我尝试过以下方法:
$V{currentPage}.intValue() == $V{totalNumberOfPages} ?
Boolean.TRUE : Boolean.FALSE
Run Code Online (Sandbox Code Playgroud) 我想将大图像(18000 x 18000)加载到我的应用程序中.如果我使用BufferedImage
类型int_rgb
,我需要大约1235mb的堆内存来加载.这是一个非常大的内存量,最终用户可能会有更少的内存(1GB或更少).
在我的开发PC上,当我从MyEclipse IDE加载图像时,它会抛出内存不足Exception
.当我将我的代码打包到一个可执行jar并在Eclipse外部的PC上运行时,它仍然会抛出异常.
如何在不使用1235mb内存的情况下使用缓冲图像将如此大的图像加载到我的应用程序中?有没有一个技巧,比如将图像分成像图像分割这样的较小部分?
我在SO上找到了这个帖子,但它对我没用; 我想加载图像BufferedImage
,然后Panel
使用Graphics
该类绘制它.
我只在带有atomikos的实时服务器上遇到问题,在我的本地服务器上它完美运行.
我在服务器上的问题是
init()出错:Log已在使用中?
完成异常堆栈跟踪
java.lang.RuntimeException: Log already in use?
at com.atomikos.icatch.standalone.UserTransactionServiceImp.createDefault(UserTransactionServiceImp.java:205)
at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:265)
at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:405)
at com.atomikos.icatch.jta.UserTransactionImp.checkSetup(UserTransactionImp.java:100)
at com.atomikos.icatch.jta.UserTransactionImp.begin(UserTransactionImp.java:115)
at com.vs.framework.service.BlfServiceAtomIkosBean.executeService(BlfServiceAtomIkosBean.java:32)
at com.dbhl.app.presentation.action.CreateUnitTypeAction.execute(CreateUnitTypeAction.java:128)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:662)
com.atomikos.icatch.SysException: Error in init(): Log …
Run Code Online (Sandbox Code Playgroud) 我有一个Dimension 18000*18000的tiff文件和1.20 GB的大小.tiff有72 DPI.
我想使用400 DPI将此TIFF转换为PNG/JPEG.
我正在使用以下代码来执行此操作
public static void ConvertTiffToJpg(String str_TiffUrl,
String str_JpgFileDestinationUrl) throws Exception {
try {
FileSeekableStream obj_FileSeekableStream = new FileSeekableStream(
new File(str_TiffUrl));
ImageDecoder obj_ImageDecoder = ImageCodec.createImageDecoder(
"tiff", obj_FileSeekableStream, null);
RenderedImage obj_RenderedImage = obj_ImageDecoder
.decodeAsRenderedImage();
JAI.create("filestore", obj_RenderedImage,
str_JpgFileDestinationUrl, "jpeg");
obj_RenderedImage = null;
obj_ImageDecoder = null;
obj_FileSeekableStream.close();
} catch (Exception ex) {
throw ex;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码完美适用于较小的图像然后指定的图像,例如尺寸小于5000*5000的tiff图像可以很容易地转换为JPEG/PNG [虽然我需要更改PNG编码器],
但是当我尝试为上面提到的文件运行相同的代码时,它会抛出以下异常
Error: One factory fails for the operation "encode"
Occurs in: javax.media.jai.ThreadSafeOperationRegistry
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at …
Run Code Online (Sandbox Code Playgroud) 我有一个自定义形状,如图所示.假设覆盖图像中形状的蓝色矩形描绘了该形状的边界框.
如果我在边界矩形的一个对角线上画线,我怎样才能得到交点(在图像中它们是用绿色绘制的)?
我使用的是Java2D,我有一个GeneralPath,其中包含我在屏幕上绘制形状的所有坐标.
我的艺术家在3d studio Max中创建了一个3D鞋模型作为FBX.看起来如下图所示.
我在我的程序中使用jMonkeyEngine,它不支持FBX文件,所以我将FBX导出到波前OBJ文件,3d studio max也给了我相应的mtl文件.
所以当我将导出的obj模型加载到我的程序中时,它使用jMonkeyEngine作为库,它看起来不像真正的鞋子,它没有任何纹理.
该程序还显示一个警告
警告:OBJ网格样式_7-geom-0不包含法线!它可能无法正确显示
我的simpleInitApp方法
Spatial myModel = assetManager.loadModel("/Textures/Shoes/style_7.obj");
myModel.scale(0.09f);
rootNode.attachChild(myModel);
Run Code Online (Sandbox Code Playgroud)
OBJ文件和材料文件都在同一目录中.所以我认为根据doc jMonkeyEngine直接从OBJ所在的同一目录加载材料.
如果你想我可以在这里上传OBJ文件和材料文件以及所有需要的图像.
我的绝对目标是在JmonkeyEngine中显示相同的Model,如screenshot1所示.
我错过了什么?我做错了什么 ?
谢谢
我遇到了一个非常奇怪的问题.我正在编写以下代码的一部分.
try {
while (!stopCapture) {
// Read data from the internal buffer of the data line.
int cnt = this.recLine.read(tempBuffer, 0, tempBuffer.length);
if (cnt > 0) {
// Save data in output stream object.
byteArrayOutputStream.write(tempBuffer, 0, cnt);
// System.out.println(" bytes " + tempBuffer[0]);
}// end if
}// ends while
// AudioSystem.write(myAIS, targetType, outputFile);
byteToWave(byteArrayOutputStream);
byteArrayOutputStream.close();
} catch (IOException e) {
// TODO provide runtime exception to reach it to presentation layer
e.printStackTrace();
} catch (Exception ex) {
ex.printStackTrace();
} …
Run Code Online (Sandbox Code Playgroud) 我是JSP和Servlets的新手.
我想知道的是将一些自定义消息传递给客户端网页的最佳方式.
例如,假设我有一个网页说student.jsp有一个表单,要将新学生注册到我们的在线应用程序.在成功插入表单的所有字段后,用户提交表单并将数据提交给我们的servlet进一步现在,Servlet验证它并将其添加到我们的数据库中.现在,servlet应该发送一条消息,指示最终用户输入的数据成功插入到最终用户(在我们的例子中是student.jsp).
所以,我可以将这种类型的消息传递给任何客户端网页.
我不想将此消息作为URL查询字符串传递.
是否有其他更好,更安全的方式传递这些类型的消息...
我想尝试最多3倍的比例图像.
例如,
放大图像
我正在使用此库进行图像大小调整.
以下代码剪切了诀窍,
public static BufferedImage getScaledSampledImage(BufferedImage img,
int targetWidth, int targetHeight, boolean higherQuality) {
ResampleOp resampleOp = new ResampleOp(targetWidth, targetHeight);
resampleOp.setUnsharpenMask(AdvancedResizeOp.UnsharpenMask.Normal);
BufferedImage rescaledImage = resampleOp.filter(img, null);
return rescaledImage;
}
Run Code Online (Sandbox Code Playgroud)
您可以看到调整后的图像质量较低.我希望我可以将图像缩放至少3倍于原始图像,而不会丢失质量.
是Pposible吗?我是否需要更改现有的库?
谢谢