JSTL Pagination for foreach loop - html

I have been trying to add pagination for JSTl function but i am not able to achieve it. Here is an exapmple of my code below:
<c:forEach items="{items}" var ="item" varstatus="count" begin="1" end="13">
<div>
printing some attributes of items;
</div>
</c:forEach>
<ul>
<li>1<li>
<li>2<li>
<li>3<li>
<li>4<li>
.
.
</ul>
Each page should contain 13 items and the length of items in dynamic
so accordingly i need to display the pagination tab at the end of each page and display 13 items per page. Once i click on the number respective set of 13 items should be displayed.
Please help

Try to follow this tutorial -> Link
This task needs fair knowledge of JSTL tags, creating appropriate
pagination url, displaying total and numbers per page, dynamic updating of
records showing in each page (for example 13, 26, 39 ...), appropriate data retrieval, ETC.You need to study all those to
successfully implement this task. The link I sent you will help you with that.

Related

How do I CFLOCATE to page, not division?

I currently have a ColdFusion page that has a list division on the left side and a details division on the right. When a record is added through a button-click on the details side, I want to rebuild the whole page so the new record will be displayed in the list. I have set the CFLOCATION to go to the complete page (the one containing the two divisions), but what I'm getting is that it displays the original list in the left division, and then displays the complete page (list and details) in the right division. How can I make my CFLOCATION tag replace the original page rather than trying to just cram it into the one division? Here's the CFLOCATION tag:
<CFLOCATION URL="Listframe.cfm?ID=#Form.IDDancer#">
You could possibly use JavaScript (instead of cflocation) to force the location of the top/parent page.
I've used code like this before:
<script>
window.parent.location.href = "https://www.google.com";
</script>
Other options:
How to reload Main Page from within an iFrame

how to make next link for pagination

I am new to jsp in my jsp i have
href="${mainUrl}/userdata?page=1" target="_blank">Next On First Page
href="${mainUrl}/userdata?page=1" target="_blank">Next On 2nd Page
href="${mainUrl}/userdata?page=1" target="_blank">Next On 3rd Page
href="${mainUrl}/userdata?page=1" target="_blank">Next On 4rth Page
However , i want this link on every page
Requirement :
Next
So i applied for-each loop on tag
<c:forEach items="${i}" var="i">
Next
</c:forEach>
${i} : Its an attribute from my controller with int i=0;
However , compiler is saying it cant interate on "i"
How can i fix that? I am doing Pagination
Assuming userdata is your controller. Make the controller set the next page's id, not the current one's, and name it something better than i, like nextPageID.
So in the controller, take the current id received in the request parameter page, if any, and add one to it, and set it in the request attribute nextPageID. I guess if no page id was received, the next id would 2. Then in your JSP:
Next
Because if you are adding one in the JSP, how do you know this isn't the last page? Keep the logic part in the controller. The controller will presumably know which number is the last page.
BTW, you obviously cannot iterate on a simple int; Iteration means traversing over an array or list.

dynamically creating list boxes in html

I want to create a number of list boxes.But the number of listboxes I want to create is dynamic (I will only know at run time how many listboxes I require),So how do I code for it?
As every loop in Thymeleaf th:each is your friend. So perhaps you need an additional div-Tag
<div th:remove="tag" th:each= ...>
</div>

best way to pull pictures for an item, from a separate table, in django

Im having a hard time deciding what is the best way to pull pictures from a separate table, for a certain item.
In django, I have two tables:
class item(models.Model):
title..
descr..
class item_pic(models.Model):
item=models.ForeignKey(item)
pic=models.ImageField...
Im displaying the item.title and item.descr in a div, and in the same div I want to pull the pictures.
So far I've tried creating a template filter like item|getPics which returns a list of the pics for that item.
{% for pic in item|getPics %} <img src="/uploads/{{pic.pic}}"> {%endfor%}
In the end I got rid of this since it was firing too many sql queries
Right now I finished pulling the pictures through ajax, the only downside here is that the images take some time to appear. And I assume is the same number of sql queries (only that django debug toolbar doesnt see them since they are fired up in the background).
How would you approach this? Thanks for any tips!
You should use select_related() (docs) to get the image objects together with the items.
It would look like this:
item = item.objects.select_related().get(...)
This means you won't get additional database queries when you're retrieving the item_pics.
As a final note, it's better to capitalize the names of classes as this is convention in Python/Django.

s:url taking all the params even param name is different

Hi I am using s:url tag for making a url, I need it to paginate my jsp to several pages.
So I need to send next or previous when we click on next or previous link. But when I click on Previous it shows me url on address bar like someAction?previuos=prev then I click on Next it displays someAction?previuos=prev&Next=Next when I only need someAction?Next=Next.
I have given different names to the url as for Previous link <s:url name="urlPrev"> and for next <s:url name="urlNext">
I don't how to differentiate them. What is wrong in my code?
The <s:url/> tag should default to the current action, without any parameters. You should just be able to say in your page:
<s:url>
<s:param name="Next" value="'Next'"/>
</s:url>
<s:url>
<s:param name="Previous" value="'Previous'"/>
</s:url>
Note that the <s:a/> tag behaves much like the tag excepting that it produces an html anchor of course so put the link name in the body. This should solve your tag issues...
Just to point out paging is roughly done on web sites by passing parameters which account for start_index and number_of_records_per_page. The "Next" button then simply adds number_of_records_per_page + 1 for the value of start_index for next. To decrement subtract number_of_records_per_page. By standardising the names all list based actions become easier to write.
Consult http://struts.apache.org/2.3.1.2/docs/tag-reference.html for use of these tags (one thing to note is the name parameter is not listed as a property for the url tag).