|
Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks. |
On April 17 2015 08:26 FFGenerations wrote:STOP I FIXED IT HOLY FUCKING CHRIST I changed the loop to say: + Show Spoiler + for (Anime anime : annj.Unmarshalling("evangelion").getAnn()) { and removed annj.Unmarshalling("evangelion"); so it looks like try{ for (Anime anime : annj.Unmarshalling("evangelion").getAnn()) {
out.println("<h1>Loop1</h1>"); out.println("<h1>ID: " + anime.getId() + "</h1>"); out.println("<h1>Name: " + anime.getName() + "</h1>");
for (Info temp : anime.getAnime()) { if (temp.getSrc() != null) { out.println("<h1>Info: " + temp.getSrc() + "</h1>"); } } }}catch(Exception e){}
out.println("<h1>End</h1>"); out.println("</body>"); out.println("</html>");
pic + Show Spoiler +
Congrats. The next lesson is not to have empty catch blocks without a good reason. Create a logger class, log the exception at the catch block. 
Edit: You may also consider StringBuilder if you want. For example:
StringBuilder builder = new StringBuilder(); builder.append("string1\n"); builder.append("string2\n"); ... builder.append("more strings");
String finalString = builder.toString();
out.println(finalString);
|
On April 17 2015 08:26 FFGenerations wrote:STOP I FIXED IT HOLY FUCKING CHRIST I changed the loop to say: + Show Spoiler + for (Anime anime : annj.Unmarshalling("evangelion").getAnn()) { and removed annj.Unmarshalling("evangelion"); so it looks like try{ for (Anime anime : annj.Unmarshalling("evangelion").getAnn()) {
out.println("<h1>Loop1</h1>"); out.println("<h1>ID: " + anime.getId() + "</h1>"); out.println("<h1>Name: " + anime.getName() + "</h1>");
for (Info temp : anime.getAnime()) { if (temp.getSrc() != null) { out.println("<h1>Info: " + temp.getSrc() + "</h1>"); } } }}catch(Exception e){}
out.println("<h1>End</h1>"); out.println("</body>"); out.println("</html>");
pic + Show Spoiler +
I had to get netbeans, I came back to let you know that you weren't using the ann that you fetched but you obviously already figured it out -_-
|
haha thanks its so hard for me to figure out this sort of thing. i usually have "some sort of idea" that "something like that" is wrong but then its just trial and error and if you dont know syntax to begin with then good luck trying to trial and error. and trial and error is the worst fucking possible thing you want to do in the first place.
going back to something like the catch is really not on the priority list since i have so much to do (3 major assignments in 6 days otherwise i fail university). so when you see me ignore something like that don't think i'm just being a dicker 
thanks guys.
i would like to say that is the last major hurdle as the rest of stuff i want to do is hopefully more standard so easier to reference
i need a break but beforehand, lets think:
1) we need to add a search form and connect it to the servlet 2) return the image urls to populate the webpage with images 3) make these jquery selectable , storable attributes that can be drag-n-dropped into a stored list using jquery something 4) format the webpage to allow user to search ajaxly so that the stored list remains on one side of the webpage whilst the search results refresh on the other side (this will be annoying to figure out i guess) 5) provide a button that takes the user's stored searchresult jquery compilation list and sends it back to the servlet 6) database stuff
actually task 1 is "spend 20 minutes trying to figure out why my jsp file fails to load before realising it needs to be in a higher directory"
|
+ Show Spoiler +can anyone see what is wrong with my simple fucking ajax thing? the JSP loads with the form and i can type and submit, but nothing happens except my submission disappears from the box i have form searchForm i have ajax that looks at searchForm and data searchForm i have serlvet @WebServlet(name = "SearchServlet", urlPatterns = {"/search"}) under protected void doPost i have String searchQuery = request.getParameter("searchQuery"); returnResults(response, searchQuery);
under private void returnResults i have response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); String resultsString = "hello"; response.getWriter().write(resultsString);
shouldnt this return "hello" to <p id="displaySearchResults"/> on my index? the tutorial i was following takes a string and then maps it to an object , then returns the map after converting it to json using Gson. i have no fucking idea why he doesnt this and doesnt just keep it as a string. he does something like map <string object> map = new hashmap <string object> map.put("searchquery", searchquery) returnresults(response, map)
private void returnresults() response.getwriter().write(new gson().tojson(map)
why is he doing all that instead of just response.getwriter().write(resultsstring) index + Show Spoiler + <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Anime List Creator</title> <script src="webresources/jquery-2.1.3.min.js"></script> <script src="webresources/basic.js"></script> <!--<link rel="stylesheet" href="webresources/css/basic.css" type="text/css" media="screen"/>--> </head>
<body> <h1>Anime List Creator</h1> <form id="searchForm"> <label for="searchQuery">Make a search</label> <input type="text" id="searchQuery" name="searchQuery"/> <input type="submit"/> </form> <p id="displaySearchResults"/> <hr/>
</body> </html>
javascript + Show Spoiler +
$(document).ready(function(){ $('#searchForm').submit(function(){ $.ajax({ url: 'search', type: 'POST', dataType: 'text', data: $('#searchForm'.serialize()), success: function(data){ // if(data.isValid){ alert("hi"); $('#displaySearchResults').html("Results:" + data.resultsString); $('#displaySearchResults').slideDown(500); // } // else{ // alert('Enter a valid search term.'); // } } }); return false; }); });
SearchServlet + Show Spoiler + /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package main;
import entities.Anime; import entities.Ann; import entities.Info; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
/** * * @author J */ @WebServlet(name = "SearchServlet", urlPatterns = {"/search"}) public class SearchServlet extends HttpServlet { @EJB private AnnJAXB annj;
// @EJB // private AnnJAXB annJAXB = new AnnJAXB();
@EJB private Ann ann;
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); try (PrintWriter out = response.getWriter()) { /* TODO output your page here. You may use following sample code. */ out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet SearchServlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Servlet SearchServlet at " + request.getContextPath() + "</h1>"); out.println("</body>"); out.println("</html>"); } }
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); }
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // processRequest(request, response); // Map <String, Object> map = new HashMap<String, Object>();
String searchQuery = request.getParameter("searchQuery"); // map.put("searchQuery", searchQuery); // returnResults(response, map); returnResults(response, searchQuery); }
private void returnResults(HttpServletResponse response, String searchQuery) throws IOException{ response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); String resultsString = "hello"; // try{ // for (Anime anime : annj.Unmarshalling(searchQuery).getAnn()) { // // resultsString = resultsString + " " + anime.getId() + " " // + anime.getName() + " " ; // // //// out.println("<h1>ID: " + anime.getId() + "</h1>"); //// out.println("<h1>Name: " + anime.getName() + "</h1>"); // // for (Info temp : anime.getAnime()) { // if (temp.getSrc() != null) { // resultsString = resultsString + " " + temp.getSrc(); // } // } // }}catch(Exception e){} response.getWriter().write(resultsString); } /** * Returns a short description of the servlet. * * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold>
}
update: chrome javascript console is saying "GET http://localhost:8080/prototype11/webresources/basic.js 404 (Not Found)"
update: ok i fixed that by moving the js files to my Web Pages folder... there is no javascript error now, however nothing is still happening when i make a search
update: FIXED
had to change
data: $('#searchForm'.serialize()),
to
data: $('#searchForm').serialize(),
there is no way anyone can do this shit without asking for help and praying someone takes the time
|
progress so far today (yes it took this long, holy shit)
i had to
1) implement a way to send my xml in json format instead of as a string. this meant trying to figure out how to map it. i ended up pursing 3 different ways of doing it (including changing my Ann class to return a toString which actually made the most sense at one point since my json string was missing a topmost idenitifer and i thought that might be a big problem (much later i see json strings without this)) but in the end there was no fucking way i could have just "figured out" the syntax to map this stuff. amazingly someone on stackoverflow gave me the syntax i needed and i just had to rearrange things a little.
2) figure out how to print my json data from the ajax to my jsp in html format. the same guy got me started but my working version ended up looking pretty different since i think he mistook my formatting (this took forever to figure out). then it still wasn't working until i read that jquery needs me to JSON.parse(data) which puts the JSON string into a JSON object before i can fucking work with it.
3) finally start looking at how to use jquery to print something in html and also iterate this. i tried to createelement but it was saying my element id was invalid , even when i tried replacing the element id etc. eventually i ended up reading that there was a jquery syntax instead of a javascript syntax and when i tried that it worked $("body").append("<img src="+mapData.url+" alt="+mapData.name+" style='width:164px;height:200px'>");
![[image loading]](http://i.imgur.com/VnZtZea.jpg)
next i look at jquery lists (user interface) and storage (letting the user temp store which ones he added to a list)
|
loool nice, it's about time :p
|
css update + working interface . FML CSS
![[image loading]](http://i.imgur.com/CiOgsGd.jpg)
next is looking into storage
|
On April 18 2015 06:28 FFGenerations wrote: progress so far today (yes it took this long, holy shit)
i had to
1) implement a way to send my xml in json format instead of as a string. this meant trying to figure out how to map it. i ended up pursing 3 different ways of doing it (including changing my Ann class to return a toString which actually made the most sense at one point since my json string was missing a topmost idenitifer and i thought that might be a big problem (much later i see json strings without this)) but in the end there was no fucking way i could have just "figured out" the syntax to map this stuff. amazingly someone on stackoverflow gave me the syntax i needed and i just had to rearrange things a little.
2) figure out how to print my json data from the ajax to my jsp in html format. the same guy got me started but my working version ended up looking pretty different since i think he mistook my formatting (this took forever to figure out). then it still wasn't working until i read that jquery needs me to JSON.parse(data) which puts the JSON string into a JSON object before i can fucking work with it.
3) finally start looking at how to use jquery to print something in html and also iterate this. i tried to createelement but it was saying my element id was invalid , even when i tried replacing the element id etc. eventually i ended up reading that there was a jquery syntax instead of a javascript syntax and when i tried that it worked $("body").append("<img src="+mapData.url+" alt="+mapData.name+" style='width:164px;height:200px'>");
haha that's starting to sound like programming now, nice work
|
i think i just spent literally 3 hours trying to figure out this syntax:
$('img.selectedItemImg').each(function() {
eventually i had to ask stackoverflow for the answer. i was using a reference that had me with:
$('.userList .selectedItemId .selectedItemImg img').each(function() {
when the working version ended up being:
$('.userList .selectedItemId .selectedItemImg').each(function() {
the example i was looking at had that "img" at the end same as mine so there was no way in hell i could have figured differently :/
|
|
iunno, I like CSS
but that's probably because the projects i aren't complicated 10 year old messes :p
|
LOL . i havent seen that episode
my working syntax is actually $('#sortable2 .selectedItemImg').each(function() {
mfw i realise it wasnt working properly after thanking the people who helped me with such joy (but very ez fix thank god)
|
Are you using any browser dev tools? Those make your life like a thousand times easier when it comes to troubleshooting CSS and Javascript.
|
LOL WHAT IS THIS MADNESS i cant believe this fucking worked
![[image loading]](http://i.imgur.com/ZVbIm2T.jpg)
On April 18 2015 16:07 WolfintheSheep wrote: Are you using any browser dev tools? Those make your life like a thousand times easier when it comes to troubleshooting CSS and Javascript.
yeah i wasn't at first then someone on stackoverflowed reminded me about it , then also said to switch to the network tab if nothing comes up on console (dont know if that helps). but yeah i wasnt using it at first and was just raging about there being no error checking for javascript
math problem: + Show Spoiler + I have a grid that is filled with X boxes. 4 boxes can fit horizontally along the grid. For every multiple of 4 boxes +1, the grid needs to expand vertically to fit a new row of boxes in.
Each box is 300 units deep/in height.
So say I have 4 boxes, the grid needs to be 300 units deep.
If I have 5 boxes it needs to be 600 units deep.
If I have 8 boxes it needs to be 600 units deep.
If I have 9 boxes it needs to be 900 units deep.
If I have 14 boxes it needs to be 1200 units deep.
The closest I am at the moment is:
height of grid = numberofentries rounded up to the nearest 4, divided by 4, times 300px
but really i have no fucking clue
nm im a moron
|
On April 18 2015 16:30 FFGenerations wrote: math problem:
I have a grid that is filled with X boxes. 4 boxes can fit horizontally along the grid. For every multiple of 4 boxes +1, the grid needs to expand vertically to fit a new row of boxes in.
...
height of grid = numberofentries rounded up to the nearest 4, divided by 4, times 300px
Not tested, but I think any of these would work:
int rowSize = 4;
int rows = (X / rowSize) + (X % rowSize == 0 ? 0 : 1); int rows = ((X + rowSize - 1) / rowSize); int rows = ceil(X / (float)rowSize); // which is basically what you mentioned.
int height = rows * 300;
|
its ok dude thankyou i basically fucked myself for hours by using wrong size images , i thought they were 300 coz i had stretched them in the html
|
can someone tell me what the goddamn rule is for formatting ajax? i am sick and fucking tired of sitting here trying to add commas and } and ) all over the goddamn place without having any clue
$(document).ready(function () { $('#button').click(function () {
$.ajax({ url: 'generate', type: 'POST', dataType: 'text', data: $('#sortable2 .selectedItemImg').each(function (index, value) { alert(index + " " + value);
// success: function (response) {
// send url to user // // } ), }), },), } );
i dont care about the code i just need to know WHY there are random commas and } and ) that never add up. theres supposed to be a fucking "return false in there somewhere"
edit3: i fixed the code . by removing the comma. and putting in the return false. i cant figure out when ; is needed though, there is no logic to it
$(document).ready(function () { $('#button').click(function () {
$.ajax({ url: 'generate', type: 'POST', dataType: 'text', data: $('#sortable2 .selectedItemImg').each(function (index, value) { alert(index + " " + value);
// success: function (response) {
// send url to user // // } ) }); return false; } ); });
oh look i remembered to add my new js file to the script header ...eventually
it looks like commas might only be needed after the ajax parameters or whatever like "datatype", "url"
|
Do I spy some interesting titles with my porn eye among those you posted FFG? 
On April 18 2015 21:53 FFGenerations wrote:can someone tell me what the goddamn rule is for formatting ajax? i am sick and fucking tired of sitting here trying to add commas and } and ) all over the goddamn place without having any clue $(document).ready(function () { $('#button').click(function () { $.ajax({ url: 'generate', type: 'POST', dataType: 'text', data: $('#sortable2 .selectedItemImg').each(function (index, value) { alert(index + " " + value); }) }); return false; }); });
It helps if you format the code correctly...
Also, in theory, you can omit any and all semicolons in JS, but I hate people who do with passion.
|
lol wot that is itano tomomi she is as pure as the winds
thankyou i did say i'd fixed it. mine looks like this lol+ Show Spoiler +
$(document).ready(function () { $('#button').click(function () {
$.ajax({ url: 'generate', type: 'POST', dataType: 'text', data: $('#sortable2 .selectedItemImg').each(function (index, value) {
alert("test22"); }), success: function (data) { alert("test44"); }
// send url to user // // } ); }); return false; }
);
|
Were I you, I'd reformat it so that you can clearly see each method's scope (where it begins and where it ends). Most IDE's should be able to do that for you with just a couple keystrokes (ctrl+alt+L in Intellij, ctl+alt(or shift)+J in Eclipse etc.).
And I wasn't talking about Tomomi (although she does seem naughty), but rather those Dark Dog Gymnastics or whatever it was called in this super hardcore hentai thingie I totally didn't see.
|
|
|
|