Can Java Lambda expressions be used in JSP scriptlets? -


i have following java code need execute in jsp source file. first create map object:

map<string,string> data = new hashmap<>(6); data.put("java version", "java.version"); data.put("java home directory", "java.home"); // , on until it's full 

after map instance filled data attempt retrieve , display said data using following lambda expression:

final jspwriter out2 = out; data.foreach((m,n) -> {     try     {         out2.println(m + ", " + n + "<br />");     }     catch(ioexception ex) {} }); 

i 2 exceptions 2 blocks of code above. first error first block, when declare map instance:

pwc6197: error occurred @ line: 27 in jsp file: /index.jsp pwc6199: generated servlet error: diamond operator not supported in -source 1.5   (use -source 7 or higher enable diamond operator) 

i can fix rewriting first line of first block replacing diamond operator full form this:

map<string,string> data = new hashmap<string,string>(6); 

for second block, reported error message is:

pwc6197: error occurred @ line: 27 in jsp file: /index.jsp pwc6199: generated servlet error: lambda expressions not supported in -source 1.5   (use -source 8 or higher enable lambda expressions) 

now, solve error rewriting block of java code, replacing same task without utilizing lambda expressions. workaround , i'd rather use java8 features. based on error messages receiving, seems me somewhere along compiling process, java mistakenly using jdk 1.5 instead of 1.8. maybe 1 of glassfish libraries written using jdk 1.5 , forcing whole code comply jdk version? i'm out of ideas of make java8 code compile.

my installed jdk version 1.8.0_77. i'm using netbeans 8.1 develop of this, in conjunction glassfish server 4.1.1. in netbeans made sure check projectproperties=>sources=>source/binaryformat set jdk8 project.

note: both error messages preceded following lines, edited out make things more readable:

org.apache.jasper.jasperexception: pwc6033: error in javac compilation jsp  pwc6199: generated servlet error: source value 1.5 obsolete , removed in future release  pwc6199: generated servlet error: target value 1.5 obsolete , removed in future release  pwc6199: generated servlet error: suppress warnings obsolete options, use -xlint:-options. 

and here full glassfish server log:

severe:   error compiling file: c:\users\server\glassfish_server\glassfish\domains\mylocaldomain1\generated\jsp\hwk5\org\apache\jsp\index_jsp.java warning:   standardwrappervalve[jsp]: servlet.service() servlet jsp threw exception org.apache.jasper.jasperexception: pwc6033: error in javac compilation jsp pwc6199: generated servlet error: source value 1.5 obsolete , removed in future release pwc6199: generated servlet error: target value 1.5 obsolete , removed in future release pwc6199: generated servlet error: suppress warnings obsolete options, use -xlint:-options. pwc6197: error occurred @ line: 27 in jsp file: /index.jsp pwc6199: generated servlet error: diamond operator not supported in -source 1.5   (use -source 7 or higher enable diamond operator) pwc6197: error occurred @ line: 27 in jsp file: /index.jsp pwc6199: generated servlet error: lambda expressions not supported in -source 1.5   (use -source 8 or higher enable lambda expressions)     @ org.apache.jasper.compiler.defaulterrorhandler.javacerror(defaulterrorhandler.java:129)     @ org.apache.jasper.compiler.errordispatcher.javacerror(errordispatcher.java:299)     @ org.apache.jasper.compiler.compiler.generateclass(compiler.java:392)     @ org.apache.jasper.compiler.compiler.compile(compiler.java:453)     @ org.apache.jasper.jspcompilationcontext.compile(jspcompilationcontext.java:625)     @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:375)     @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:473)     @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:377)     @ javax.servlet.http.httpservlet.service(httpservlet.java:790)     @ org.apache.catalina.core.standardwrapper.service(standardwrapper.java:1682)     @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:318)     @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:160)     @ org.apache.catalina.core.standardpipeline.doinvoke(standardpipeline.java:734)     @ org.apache.catalina.core.standardpipeline.invoke(standardpipeline.java:673)     @ com.sun.enterprise.web.webpipeline.invoke(webpipeline.java:99)     @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:174)     @ org.apache.catalina.connector.coyoteadapter.doservice(coyoteadapter.java:416)     @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:283)     @ com.sun.enterprise.v3.services.impl.containermapper$httphandlercallable.call(containermapper.java:459)     @ com.sun.enterprise.v3.services.impl.containermapper.service(containermapper.java:167)     @ org.glassfish.grizzly.http.server.httphandler.runservice(httphandler.java:206)     @ org.glassfish.grizzly.http.server.httphandler.dohandle(httphandler.java:180)     @ org.glassfish.grizzly.http.server.httpserverfilter.handleread(httpserverfilter.java:235)     @ org.glassfish.grizzly.filterchain.executorresolver$9.execute(executorresolver.java:119)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.executefilter(defaultfilterchain.java:283)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.executechainpart(defaultfilterchain.java:200)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.execute(defaultfilterchain.java:132)     @ org.glassfish.grizzly.filterchain.defaultfilterchain.process(defaultfilterchain.java:111)     @ org.glassfish.grizzly.processorexecutor.execute(processorexecutor.java:77)     @ org.glassfish.grizzly.nio.transport.tcpniotransport.fireioevent(tcpniotransport.java:536)     @ org.glassfish.grizzly.strategies.abstractiostrategy.fireioevent(abstractiostrategy.java:112)     @ org.glassfish.grizzly.strategies.workerthreadiostrategy.run0(workerthreadiostrategy.java:117)     @ org.glassfish.grizzly.strategies.workerthreadiostrategy.access$100(workerthreadiostrategy.java:56)     @ org.glassfish.grizzly.strategies.workerthreadiostrategy$workerthreadrunnable.run(workerthreadiostrategy.java:137)     @ org.glassfish.grizzly.threadpool.abstractthreadpool$worker.dowork(abstractthreadpool.java:591)     @ org.glassfish.grizzly.threadpool.abstractthreadpool$worker.run(abstractthreadpool.java:571)     @ java.lang.thread.run(thread.java:745) 


Comments

Popular posts from this blog

javascript - How to get current YouTube IDs via iMacros? -

c# - Maintaining a program folder in program files out of date? -

emulation - Android map show my location didn't work -